如何:向匿名用户和登录用户显示不同的信息

更新:2007 年 11 月

通过在页上包含 LoginView 控件可以向匿名用户和登录(经过身份验证的)用户显示不同的信息。LoginView 控件包含两个模板:一个用于向匿名用户显示信息,另一个用于向登录用户显示信息。(还可以使用 RoleGroups 属性包含基于角色名称的模板。)该控件自动确定用户是否经过身份验证并呈现相应的模板。

向匿名用户和登录用户显示不同的信息

  1. 在 ASP.NET 页的“设计”视图中,从**“工具箱”“登录”**文件夹中将一个 LoginView 控件拖动到页上。

  2. 如果**“LoginView 任务”面板未显示,则右击该控件并单击“显示智能标记”以显示“LoginView 任务”**面板。

    默认情况下,该控件显示 AnonymousTemplate

  3. 添加应对未登录的用户可见的静态文本和控件,如用于用户登录、恢复密码或创建新用户 ID 的 Login 控件。

  4. 在**“LoginView 任务”菜单中,从“视图”**列表中选择 LoggedInTemplate

  5. 添加应对经过身份验证的用户可见的静态文本和控件,如 FormatString 属性设置为欢迎消息的 LoginName 控件。

示例

<asp:LoginView ID="LoginView1" Runat="server">
  <LoggedInTemplate>
   <asp:LoginName ID="LoginName1" Runat="server" 
                  FormatString ="Welcome, {0}"/>
   <br />
    <asp:HyperLink ID="HyperLink1" Runat="server" 
      href="~/MemberPages/ChangePassword.aspx">
      Change Password
    </asp:HyperLink>
  </LoggedInTemplate>
  <AnonymousTemplate>
    <asp:Login id="Login1" runat="server" 
        CreateUserText="Create a new user..."
        CreateUserUrl="~/Register.aspx" 
        PasswordRecoveryUrl="~/Recovery.aspx" 
        UserNameLabelText="E-mail address:" />
  </AnonymousTemplate>
</asp:LoginView>

该代码示例在您定义 AnonymousTemplateLoggedInTemplate 后,在“源”视图中显示 LoginView 控件。

请参见

任务

演练:创建具有成员资格和用户登录功能的网站

参考

ASP.NET 登录控件概述