2011-11-08 4 views
1

내 페이지 상단에 버튼이 있습니다. 해당 버튼에 하위 메뉴를 추가하고 싶습니다.C#에서 프로그래밍 방식으로 하위 메뉴를 만들 수 있습니까?

protected void AddMenuItems() 
{ 
    // Check privledges and add links to admin pages accordingly. 
    // List adds pages in order of user precedence. 


    if (_cu.IsUser) 
    { 
     NavigationMenu.Items.Add(new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx")); 
    } 
} 

항목에 하위 메뉴를 추가 할 수있는 방법이 있습니까?

답변

1

예, 각 MenuItem에는 무기한 수의 항목을 추가 할 수있는 ChildItems 컬렉션이 있습니다.

protected void AddMenuItems() 
{ 
    // Check privledges and add links to admin pages accordingly. 
    // List adds pages in order of user precedence. 


    if (_cu.IsUser) 
    { 
     var newItem = new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx"); 
     var subItem = new MenuItem("Sub Menu Item", "Submenu Item", null, "page.aspx"); 
     newItem.ChildItems.Add(subItem); 
     NavigationMenu.ChildItems.Add(newItem); 
    } 
} 

"하위 메뉴 항목"은 탐색 메뉴의 하위 항목 인 "유전자 사용자 ID"의 하위 항목입니다.

업데이트 : 코드의 Items 참조는 ChildItems이어야합니다. Items은 Windows 응용 프로그램 메뉴에 사용되는 모음입니다. ASP.NET 태그를 추가 했으므로 웹 응용 프로그램이라고 가정합니다.

+0

'System.Web.UI.WebControls.MenuItem'에 '항목'에 대한 정의가없고 확장 메서드가 없습니다 'System.Web.UI.WebControls.MenuItem'형식의 첫 번째 인수를 허용하는 '항목'을 찾을 수 있음 (using 지시문이나 어셈블리 참조가 누락 되었습니까?) – nhat

+0

... 폼 디자이너 또는 ASP.NET에서이 작업을 수행하고 있습니까? ASP.NET 인 경우 'System.Windows.Forms.MenuItem' 참조를 제거하십시오. 나는 당신의 코드를 복사했지만,'Items'는'ChildItems'이어야합니다. –

+0

괜찮 았어. 감사! – nhat

관련 문제