如何:向匿名用户和登录用户显示不同的信息
更新:2007 年 11 月
通过在页上包含 LoginView 控件可以向匿名用户和登录(经过身份验证的)用户显示不同的信息。LoginView 控件包含两个模板:一个用于向匿名用户显示信息,另一个用于向登录用户显示信息。(还可以使用 RoleGroups 属性包含基于角色名称的模板。)该控件自动确定用户是否经过身份验证并呈现相应的模板。
向匿名用户和登录用户显示不同的信息
在 ASP.NET 页的“设计”视图中,从**“工具箱”的“登录”**文件夹中将一个 LoginView 控件拖动到页上。
如果**“LoginView 任务”面板未显示,则右击该控件并单击“显示智能标记”以显示“LoginView 任务”**面板。
默认情况下,该控件显示 AnonymousTemplate。
添加应对未登录的用户可见的静态文本和控件,如用于用户登录、恢复密码或创建新用户 ID 的 Login 控件。
在**“LoginView 任务”菜单中,从“视图”**列表中选择 LoggedInTemplate。
添加应对经过身份验证的用户可见的静态文本和控件,如 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>
该代码示例在您定义 AnonymousTemplate 和 LoggedInTemplate 后,在“源”视图中显示 LoginView 控件。