我有一个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中的菜单项并不起作用?我错过了什么?或者有没有更好的方法来实现相同的代码?
答案 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)
注意第二行的正斜杠。