2014-12-04 6 views
0

아래에 표시된 asp 메뉴가 있습니다. 나는 "Old"라는 텍스트가있는 하위 항목을 코드 숨김에서 숨기려고합니다. 하위 메뉴 항목 제거

<asp:Menu ID="Viewmenu" runat="server" Visible="true" PathSeparator="," BackColor="#FFFFEB" DynamicHorizontalOffset="2" > 

    <Items> 
     <asp:MenuItem Text="View" Value="New Item"> 
       <asp:MenuItem Text="Old" Value="Old que"></asp:MenuItem> 
       <asp:MenuItem Text="Profile" Value="Address"></asp:MenuItem> 
     </asp:MenuItem> 
    </Items> 
</asp:Menu> 

그래서 내가 finditem을 사용

Dim s As MenuItem 
s = Viewmenu.FindItem("New Item,Old que") 
Viewmenu.Items.Remove(s) 

이하 그러나 오류없이 코드 실행 위의 그림과 같이 다음 항목 뒤에 코드에서 제거 할 수 있지만 메뉴 항목이 텍스트 = "올드"는 제거되지 않는 한과 (제 경우에는 menuitem에서 하위 menuitem을 제거하려고합니다) Viewmenu.FindItem("New Item")을 사용하여 코드가 제대로 작동하는지 확인하고 예상대로 메뉴를 제거했습니다.

menuitem 안의 메뉴 항목을 제거하지 않은 이유는 무엇입니까? 내가 누락 된 것? 아니면 뒤에 코드에서 동일한 달성하기 위해 더 좋은 방법이 있습니까?

답변

1

가 도움이되기를 바랍니다, 코드 아래 시도하고 당신은 C#을 태그를 사용하지만, 난 당신의 코드를 VB에게

C# 코드

MenuItem parent = Viewmenu.FindItem("New Item"); 
MenuItem s = Viewmenu.FindItem("@New Item\Old que"); 
parent.ChildItems.Remove(s); 

VB 코드

Dim parent As MenuItem = Viewmenu.FindItem("New Item") 
Dim s As MenuItem = Viewmenu.FindItem("New Item,Old que") 
parent.ChildItems.Remove(s) 
+1

효과가있었습니다. C# 태그가 잘못되었습니다. –

0

비주얼 베이직 코드 것 같다 나를 위해 일한 것은 :

Dim parent As MenuItem = Viewmenu.FindItem("New Item") 
Dim s As MenuItem = Viewmenu.FindItem("New Item/Old que") 
parent.ChildItems.Remove(s) 

두 번째 줄에 슬래시가 있음을 유의하십시오.

관련 문제