Asp.net菜单根据访问级别显示不同的菜单项

时间:2010-07-09 14:07:39

标签: c# asp.net

我正在尝试为网站创建一个asp菜单。该网站将有2个级别的用户主用户(将有更多选项)和子用户将具有有限的菜单选项。

我很奇怪有没有人知道是否有隐藏菜单项的方法?我试过谷歌,但我找不到多少。

这是Asp代码

<asp:Menu id="MainMenu" runat="server" StaticDisplayLevels="1" Orientation="Horizontal" >
    <Items>
        <asp:MenuItem Text="Setup" Value="">
            <asp:MenuItem ID="DepoAccount" Text="Depo Account Details" Value="" NavigateUrl="~/AccountManagment.aspx"></asp:MenuItem>
            <asp:MenuItem Text="User Accounts" Value="" NavigateUrl="~/ImplantParameters.aspx"></asp:MenuItem>
        </asp:MenuItem>
        <asp:MenuItem Text="Actions" Value="">
            <asp:MenuItem Text="View Consignments" Value="" NavigateUrl="~/Consignements.aspx"></asp:MenuItem>
            <asp:MenuItem Text="Add Consignments" Value="" NavigateUrl="~/Consignements.aspx"></asp:MenuItem>
        </asp:MenuItem>
        <asp:MenuItem Text="Utitlies" Value="">
            <asp:MenuItem Text="Export" Value="" NavigateUrl="~/ImplantParameters.aspx"></asp:MenuItem>
        </asp:MenuItem>
        <asp:MenuItem Text="Reports" Value="">
            <asp:MenuItem Text="Manifest" Value="" NavigateUrl="~/ImplantParameters.aspx"></asp:MenuItem>
        </asp:MenuItem>
    </Items>
</asp:Menu>

我已经研究了如何在用户未登录时隐藏整个菜单     MainMenu.Visible = false

任何指针都会非常感激。

1 个答案:

答案 0 :(得分:2)

您正在寻找ASP.NET's Security Trimming feature

您应该将静态菜单项移动到XML SiteMap文件中,并将站点地图上的EnableSecurityTrimming设置为true。