1

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

这是我到目前为止所拥有的:

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

2 回答 2

1

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

我不由自主地想

FormsAuthentication.SignOut() 

会那样做

然后登录,在您的“匿名模板”中粘贴指向您的登录页面的链接。

于 2011-07-12T09:51:39.217 回答
0

在 Asp.Net MVC 中,Request.IsAuthenticated您可以使用一个属性来检查是否User.Identity.Name不为空。希望有类似的东西可供您使用。

于 2011-07-12T09:57:23.823 回答