[英]How can I hide the menu of Master page until the user do login in asp.net
我创建了一个带导航栏的母版页。 我将索引页面作为登录页面,因此我使用在主页面下注册的index.aspx中的登录控件。
现在我的问题是如何在用户登录之前隐藏主页中的导航栏,用户成功登录后导航栏应该出现
在母版页中使用它(C#代码)
<% if (HttpContext.Current.User.Identity.IsAuthenticated ) { %>
<div>navigation html when is authenticated</div>
<% } else { %>
<div>navigation html when is NOT authenticated</div>
<% } %>
protected void Page_Load(object sender, EventArgs e)
{
String path = HttpContext.Current.Request.Url.AbsolutePath;
if (path == "/login.aspx")
{
Menu1.Visible = false;
}
}
在webforms中,您可以使用LoginView控件根据用户的身份验证状态显示不同的内容:
<asp:LoginView ID="LoginView1" Runat="server">
<LoggedInTemplate>
<div>Navigation Bar</div>
</LoggedInTemplate>
<AnonymousTemplate>
<div>Unauthenticated content</div>
</AnonymousTemplate>
</asp:LoginView>
如果您使用的是Asp.net菜单控件,请将以下代码放在页面加载中:
protected void Page_Load(object sender, EventArgs e)
{
Menu1.Visible = User.Identity.IsAuthenticated;
}
否则,将导航栏放在占位符中并显示/隐藏占位符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.