0

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

<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>

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

4

1 回答 1

0

上面的代码:

Menu1.DataBind();

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

于 2013-06-25T20:48:16.940 回答