我需要显示登录链接,一旦登录,我需要链接显示为注销。
这是我到目前为止所拥有的:
<div class="account-links">
<a href="<%=Page.ResolveUrl("~/logout.aspx")%>" class="ico-logout">
<%=GetLocaleResourceString("Account.Logout")%></a>
<% if (NopContext.Current.User != null && NopContext.Current.User.IsAdmin)
{ %>
<a href="<%=Page.ResolveUrl("~/administration/")%>" class="ico-admin">
<%=GetLocaleResourceString("Account.Administration")%></a>
<%} %>
</div>
<div class="header-links">
<ul>
<asp:LoginView ID="topLoginView" runat="server">
<AnonymousTemplate>
</AnonymousTemplate>
<LoggedInTemplate>
<li>
<a href="<%= SEOHelper.GetMyAccountUrl()%>" class="account"><%=Page.User.Identity.Name %></a>
<% if (NopContext.Current.IsCurrentCustomerImpersonated)
{
%>
<span class="impersonate">(<%=string.Format(GetLocaleResourceString("Account.ImpersonatedAs"), this.CustomerService.UsernamesEnabled ? Server.HtmlEncode(NopContext.Current.User.Username) : Server.HtmlEncode(NopContext.Current.User.Email))%>
-
<asp:LinkButton runat="server" ID="lFinishImpersonate" Text="<% $NopResources:Account.ImpersonatedAs.Finish %>"
ToolTip="<% $NopResources:Account.ImpersonatedAs.Finish.Tooltip %>" OnClick="lFinishImpersonate_Click"
CssClass="finish-impersonation"></asp:LinkButton>)</span>
<%} %>
</li>
<li></li>
<% if (this.ForumService.AllowPrivateMessages)
{ %>
<li><a href="<%=Page.ResolveUrl("~/privatemessages.aspx")%>" class="ico-inbox">
<%=GetLocaleResourceString("PrivateMessages.Inbox")%></a>
<asp:Literal runat="server" ID="lUnreadPrivateMessages" />
</li>
<%} %>
</LoggedInTemplate>
</asp:LoginView>
答案 0 :(得分:1)
除非我误解,只需在“登录模板”中添加一个注销链接,然后向其中添加一个点击事件并在代码中注销。
我想起了我的头脑
FormsAuthentication.SignOut()
会这样做
然后,要登录,请在“匿名模板”中粘贴指向登录页面的链接。
答案 1 :(得分:0)
在Asp.Net MVC中,您可以使用Request.IsAuthenticated
属性来检查User.Identity.Name
是否为空。希望你能有这样的东西。