我使用導航欄創建母版頁。我將索引頁作爲登錄頁面,因此我在index.aspx中使用登錄控件,該索引在母版頁下注冊。如何隱藏母版頁的菜單,直到用戶在asp.net登錄
現在我的問題是我怎麼能隱藏導航欄,這是在母版頁,直到用戶做登錄時,用戶做成功登錄後,在導航欄上應該出現
我使用導航欄創建母版頁。我將索引頁作爲登錄頁面,因此我在index.aspx中使用登錄控件,該索引在母版頁下注冊。如何隱藏母版頁的菜單,直到用戶在asp.net登錄
現在我的問題是我怎麼能隱藏導航欄,這是在母版頁,直到用戶做登錄時,用戶做成功登錄後,在導航欄上應該出現
使用此在母版頁(C#代碼)
<% if (HttpContext.Current.User.Identity.IsAuthenticated) { %>
<div>navigation html when is authenticated</div>
<% } else { %>
<div>navigation html when is NOT authenticated</div>
<% } %>
在網絡表單,您可以使用LoginView control根據用戶的認證狀態顯示不同的內容:
<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;
}
否則把你的導航條中的佔位符和顯示/隱藏佔位符。
謝謝我在if語句中使用了NavigationMenu.Items.Clear()。 – 2012-02-05 13:52:16
protected void Page_Load(object sender, EventArgs e)
{
String path = HttpContext.Current.Request.Url.AbsolutePath;
if (path == "/login.aspx")
{
Menu1.Visible = false;
}
}
非常感謝我用你的想法,但我寫的if語句下面 NavigationMenu.Items.Clear()內; – 2012-02-05 13:48:45