H 创建了一个带有菜单 div 的母版页。我将索引页面作为登录页面,因此我使用了在母版页下注册的 index.aspx 中的登录控件。
现在我的问题是如何在用户登录之前隐藏母版页中的菜单 div,在用户成功登录后,菜单 div 应该出现在用户面前
H 创建了一个带有菜单 div 的母版页。我将索引页面作为登录页面,因此我使用了在母版页下注册的 index.aspx 中的登录控件。
现在我的问题是如何在用户登录之前隐藏母版页中的菜单 div,在用户成功登录后,菜单 div 应该出现在用户面前
在您的母版页中,您可以执行以下操作:
if (Request.IsAuthenticated)
{
<p>Welcome back, @User.Identity.Name!</p>
}
else
{
<!-- Put login form here. -->
}
我把这段代码放在我的 MasterPage
<% if (HttpContext.Current.User.Identity.IsAuthenticated ) { %>
<div>navigation html when is authenticated</div>
<% } else { %>
<div>navigation html when is NOT authenticated</div>
<% } %>
在内容页面中添加@MasterType 指令。在指令中,将 VirtualPath 属性设置为母版页的位置
然后使用 Master.FindControl
void Page_Load()
{
// Gets a reference to a TextBox control inside
// a ContentPlaceHolder
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder =
(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
mpTextBox =
(TextBox) mpContentPlaceHolder.FindControl("TextBox1");
if(mpTextBox != null)
{
mpTextBox.Text = "TextBox found!";
}
}
// Gets a reference to a Label control that not in
// a ContentPlaceHolder
Label mpLabel = (Label) Master.FindControl("masterPageLabel");
if(mpLabel != null)
{
Label1.Text = "Master page label = " + mpLabel.Text;
}
}