删除子菜单项

时间:2014-12-04 10:43:45

标签: asp.net vb.net menu

我有一个asp菜单,如下所示。我想隐藏有文字的子项目#34; 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)

但是上面的代码运行没有任何错误,但菜单项有Text =&#34; Old&#34;没有删除并显示在菜单中。(在我的情况下,我试图从menuitem中删除子菜单项) 我尝试使用Viewmenu.FindItem("New Item")来检查代码是否正常工作,并按预期删除完整菜单本身。

那么为什么删除menuitem中的菜单项并不起作用?我错过了什么?或者有没有更好的方法来实现相同的代码?

2 个答案:

答案 0 :(得分: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 :(得分:0)

对我有用的VB代码是:

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

注意第二行的正斜杠。