C# ASP.net通过检查会话在母版页中显示登录状态
我只想将C# ASP.net通过检查会话在母版页中显示登录状态,c#,asp.net,logging,session-state,C#,Asp.net,Logging,Session State,我只想将登录状态文本放入我的ASP母版页。当用户未登录时,它将显示登录,如果用户已登录,它将显示注销。一旦用户单击了注销,会话将被清除 <asp:LoginView ID="LoginView1" runat="server" onviewchanged="LoginView1_ViewChanged"> <AnonymousTemplate> <asp:LoginStatus ID="LoginStatus1" runat
登录状态
文本放入我的ASP母版页。当用户未登录时,它将显示登录
,如果用户已登录
,它将显示注销
。一旦用户单击了注销,会话将被清除
<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>
请帮助我根据当前会话状态在母版页中动态显示
登录
或注销
状态。先谢谢你 LoginView
控件使用当前请求的标识来确定它们是否已登录,以及主体的角色成员身份(如果您使用可以为不同角色显示不同模板的功能)。因此,使用LoginView
将无法实现您的愿望。与LoginStatus
相同
您可以滚动这些控件的您自己的版本来执行您想要的操作,或者尝试从这些控件派生您自己的控件,并简单地覆盖它确定您是否登录的部分
或者,您可以在母版页中放置类似的内容
<% if (Session["logged"] is bool && (bool)Session["logged"]) {%>
Logged in
%> } else { %>
Logged out
<% } %>
登录
%>}否则{%>
注销
但是,我建议您仅依靠请求的标识来确定用户是否已登录。a)它是内置的,完全受支持的,您不需要做任何额外的事情B)会话不持久。您可以通过访问user.identity.IsAuthenticated
属性在页面、控件等中访问请求的用户
<% if (Session["logged"] is bool && (bool)Session["logged"]) {%>
Logged in
%> } else { %>
Logged out
<% } %>