[英]ASP.net display LoginStatus in masterpage by checking Session
我只想將LogIn Status
文本放在我的 ASP 母版頁中。 當用戶未登錄時,它將顯示LogIn
,如果用戶已經logged In
,它將顯示LogOut
。 一旦用戶點擊注銷, logOut
將被清除。
<asp:LoginView ID="LoginView1" runat="server" onviewchanged="LoginView1_ViewChanged">
<AnonymousTemplate>
<asp:LoginStatus ID="LoginStatus1" runat="server" LoginText="logIn" />
</AnonymousTemplate>
<LoggedInTemplate>
<asp:LoginStatus ID="LoginStatus2" runat="server" LogoutText="loggedout" />
</LoggedInTemplate>
</asp:LoginView>
我正在using System.Web.SessionState;
管理 session。我可以使用以下代碼檢查用戶是否登錄。
If (Session["logged"] == true)
請幫助我根據當前logOut
狀態在母版頁中動態顯示LogIn
或注銷狀態。 先感謝您。
LoginView
控件使用當前請求的身份來確定他們是否已登錄,以及主體的角色成員資格,如果您使用可以為不同角色顯示不同模板的功能。 因此,您將無法使用LoginView
實現您想要的。 與LoginStatus
相同。
您可以滾動這些控件的您自己的版本來執行您希望的操作,或者嘗試從這些控件派生您自己的控件並簡單地覆蓋它確定您是否登錄的部分。
或者,您可以將類似的內容放在母版頁中。
<% if (Session["logged"] is bool && (bool)Session["logged"]) {%>
Logged in
%> } else { %>
Logged out
<% } %>
但是,我建議您只依賴請求的身份來確定用戶是否已登錄。A) 它是內置的,完全受支持,您無需執行任何額外操作 B) 會話不持久. 您可以通過訪問User.Identity.IsAuthenticated
屬性在頁面、控件等中訪問請求的用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.