一旦登录,隐藏注销链接

本文关键字:注销 链接 隐藏 登录 | 更新日期: 2023-09-27 18:01:54

我需要显示一个登录链接,一旦他们登录,我需要链接显示为注销。

到目前为止是这样的:

<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>

一旦登录,隐藏注销链接

除非我误解了,只需添加一个注销链接到"登录模板",并添加一个点击事件,并在代码中注销。

我马上想到

FormsAuthentication.SignOut() 

会这样做

然后在你的"匿名模板"中粘贴一个链接到你的登录页面

Net MVC中,有一个Request.IsAuthenticated属性,你可以使用它来检查User.Identity.Name是否为空。