临时隐藏或禁用主导航菜单

时间:2010-03-09 13:20:28

标签: c# .net asp.net

主文件上的

得到了......

<div id="nav-main">
    <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal"
              Width="573px" CssClass="menu-main" MaximumDynamicDisplayLevels="0" 
              StaticSelectedStyle-CssClass="StaticSelectedStyle" Height="32px" 
              StaticSubMenuIndent="18px" >
        <StaticSelectedStyle CssClass="StaticSelectedStyle"></StaticSelectedStyle>
    </asp:Menu>

也得到了...

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />

和网站地图......

得到代码......

protected void Page_Load()
{
    if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
    {
    }
    else
    {
    } // sorry for formating XD

和...我需要隐藏或禁用然后启用或显示网站菜单(我的意思是可见内容)

在我的网页上我正在制作

protected void Page_Load(object sender, EventArgs e)
{
    if (!HttpContext.Current.User.Identity.IsAuthenticated)
        Response.Redirect("Default.aspx");
}

我也不确定这是不是一个好方法

4 个答案:

答案 0 :(得分:2)

LoginView控件包裹它?

<asp:LoginView id="LoginView1" runat="server">
    <AnonymousTemplate>
       Please log in for personalized information.
    </AnonymousTemplate>
    <LoggedInTemplate>
       <div id="nav-main">...</div>
    </LoggedInTemplate>
<asp:LoginView>

答案 1 :(得分:2)

如何使用security trimming

答案 2 :(得分:0)

您可以撰写Menu1.Visible = false;

答案 3 :(得分:0)

如果我理解正确,您希望隐藏/显示基于用户身份验证的菜单。

Menu1.Visible = HttpContext.Current.User.Identity.IsAuthenticated;