2014-12-04 116 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) 

但是,但是具有文本=“老”不除去菜单项和(在我的情况下,我试图从菜单项中删除子菜单项) 我尝试使用Viewmenu.FindItem("New Item")来检查代码是否正常工作,并按预期删除完整菜单本身。

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

回答

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#标记是错误的。 – 2014-12-04 11:40:11

0

VB代码那为我工作是:

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

请注意第二行的正斜杠。