2013-04-29 104 views
0
<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" StaticSubMenuIndent="10px" 
    <asp:MenuItem Text="DashBoard"></asp:MenuItem> 
    <asp:MenuItem Text="Project"> 
     <asp:MenuItem Text="Config Project"></asp:MenuItem> 
     <asp:MenuItem Text="Task"></asp:MenuItem> 
    </asp:MenuItem> 

    <asp:MenuItem Text="Employees"> 
     <asp:MenuItem Text="EMS"></asp:MenuItem> 
     <asp:MenuItem Text="TimeSheet"> 
    <asp:MenuItem Text="Period"></asp:MenuItem> 
    <asp:MenuItem Text="Report"></asp:MenuItem> 
    </asp:MenuItem> 
    </asp:MenuItem 
</asp:menu> 

我是新来的C#..我怎么能隐藏任务,从菜单列表页面加载报告菜单项,考虑这个菜单在主页page.I尝试寻找类似的问题,但没有得到正确的解决方案!我怎么能从菜单列表中隐藏/删除子菜单项

+1

给出您想要隐藏ID的MenuItem,从代码隐藏中访问它,将其设置为不可见。我很生疏,这就是为什么我没有发布这个答案,但我认为这是一般过程。您可能必须将.cs文件指定为ASP文件中的代码隐藏文件。谷歌为C#代码隐藏 – KyleM 2013-04-29 21:58:43

+0

也许这个相关的问题可以帮助您http://stackoverflow.com/a/4939114/541432 – elvin 2013-04-29 21:59:25

+0

@KyleM Menuitem没有任何ID – TheCode 2013-04-29 22:13:44

回答

0

这是一个老问题,但作为参考,这里是解决方案,我用途:

var menuItems = NavigationMenu.Items; 
var projectMenuItem = menuItems.Cast<MenuItem>().First(p => p.Text == "Project"); 
var subItem = projectMenuItem.Cast<MenuItem>().First(p => p.Text == "Task"); 
projectMenuItem.ChildItems.Remove(subItem); 

这并不美观,但它的工作原理。改进欢迎。