当菜单可见性关闭时,我看不到其他页面内容

时间:2013-06-25 20:09:24

标签: c# html asp.net visual-studio

我有一个包含以下代码的母版页:

<body>
    <form id="form1" runat="server">
    <!-- BEGIN: Sticky Header -->
    <div id="header_container">
        <div id="header">
            <div id="headerBar">
                <a href="<% = Page.ResolveUrl("~/default.aspx") %>">
                    <img src="<% = Page.ResolveUrl("~/images/logo.png") %>" id="logo" /></a> <span id="header_text">
                        Scrum Reports</span>
                <asp:LoginStatus ID="LoginStatus1" runat="server" CssClass="login_status" LogoutAction="Redirect"
                    LogoutPageUrl="~/default.aspx" />
                <asp:LoginName ID="LoginName1" runat="server" CssClass="login_user" />
            </div>
        </div>
    </div>
    <div id="menuBar">
        <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticDisplayLevels="2"
            Orientation="Horizontal" >
        </asp:Menu>
        <asp:SiteMapDataSource ID="SiteMapDataSource1"  SiteMapProvider="admin" runat="server" />
        <asp:SiteMapDataSource ID="SiteMapDataSource2"  SiteMapProvider="user" runat="server" />
    </div>
    <!-- END: Sticky Header -->
    <!-- BEGIN: Page Content -->
    <div id="mainContent">
        <div id="container">
            <div id="content">
                <asp:ContentPlaceHolder ID="Main" runat="server">
                </asp:ContentPlaceHolder>
            </div>
        </div>
    </div>
    <!-- END: Page Content -->
    <!-- BEGIN: Sticky Footer -->
    <div id="footer_container">
        <div id="footer">
            Developed by Application Solutions
        </div>
    </div>
    <!-- END: Sticky Footer -->
    </form>
</body>

现在我使用以下C#(作为母版页Page_Load方法的一部分)来显示或隐藏网站菜单,具体取决于用户是否已登录:

Menu1.Visible = Page.User.Identity.IsAuthenticated;

出于某种原因,这行代码阻止了用户未登录时在其他页面上看到的内容。

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/master/template.master" CodeFile="recoverpassword.aspx.cs" Inherits="password_recoverpassword" %>

<asp:Content ID="Content1" Visible="true" ContentPlaceHolderID="Main" runat="Server">
    <div>
    Cant see this content when not logged in.
    </div>
</asp:Content>

为什么会这样?我能做些什么呢?

1 个答案:

答案 0 :(得分:0)

上面的代码:

Menu1.DataBind();

造成了这个问题。当我删除它时,它修复它,其他一切继续正常工作。