LoginView 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
依据给定用户的身份验证状态和角色成员资格为该用户显示相应的内容模板。
public ref class LoginView : System::Web::UI::Control, System::Web::UI::INamingContainer
[System.ComponentModel.Bindable(false)]
[System.Web.UI.Themeable(true)]
public class LoginView : System.Web.UI.Control, System.Web.UI.INamingContainer
[<System.ComponentModel.Bindable(false)>]
[<System.Web.UI.Themeable(true)>]
type LoginView = class
inherit Control
interface INamingContainer
Public Class LoginView
Inherits Control
Implements INamingContainer
- 继承
- 属性
- 实现
示例
下面的代码示例演示如何为 控件支持的 LoginView 三种模板类型中的每一种设置模板。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>
<asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus></p>
<p>
<asp:LoginView id="LoginView1" runat="server">
<AnonymousTemplate>
Please log in for personalized information.
</AnonymousTemplate>
<LoggedInTemplate>
Thanks for logging in
<asp:LoginName id="LoginName1" runat="Server"></asp:LoginName>.
</LoggedInTemplate>
<RoleGroups>
<asp:RoleGroup Roles="Admin">
<ContentTemplate>
<asp:LoginName id="LoginName2" runat="Server"></asp:LoginName>, you
are logged in as an administrator.
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView></p>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>
<asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus></p>
<p>
<asp:LoginView id="LoginView1" runat="server">
<AnonymousTemplate>
Please log in for personalized information.
</AnonymousTemplate>
<LoggedInTemplate>
Thanks for logging in
<asp:LoginName id="LoginName1" runat="Server"></asp:LoginName>.
</LoggedInTemplate>
<RoleGroups>
<asp:RoleGroup Roles="Admin">
<ContentTemplate>
<asp:LoginName id="LoginName2" runat="Server"></asp:LoginName>, you
are logged in as an administrator.
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView></p>
</form>
</body>
</html>
注解
本主题内容:
介绍
控件 LoginView 根据用户是否经过身份验证,以及他们所属的网站角色,显示不同的网站内容模板 (或“视图”) 。
注意
如果不熟悉 ASP.NET 中提供的登录控件集,请参阅 ASP.NET 登录控件概述 ,然后再继续。 有关与登录控件和成员身份相关的其他主题的列表,请参阅 使用成员身份管理用户。
存储在 属性中的 AnonymousTemplate 模板将显示给尚未登录的网站的任何访问者。 用户登录后,站点会显示与 属性中 RoleGroups 用户角色之一关联的模板,或在 属性中指定的 LoggedInTemplate 默认模板。
将 LoginView 模板分配到 类的三个模板属性 LoginView 中的任何一个后, 控件将管理各种模板之间的切换:
AnonymousTemplate - 指定要向未登录网站的用户显示的模板。 已登录的用户将永远不会看到此模板。
LoggedInTemplate - 指定要向已登录网站但不属于具有定义模板的任何角色组的用户显示的默认模板。
RoleGroups - 指定要显示给具有已定义角色组模板的角色成员的已登录用户的模板。 内容模板与实例中的 RoleGroup 特定角色集相关联。
角色组模板按在源中定义的顺序进行搜索。 向用户显示第一个匹配的角色组模板。 如果用户是多个角色的成员,则使用与该用户的任何角色匹配的第一个角色组模板。 如果多个模板与单个角色相关联,则仅使用第一个定义的模板。
下表描述了使用各种模板组合时控件的行为 LoginView 。
LoggedIn Template 属性 | Anonymous Template 属性 | RoleGroups 属性 | LoginView 行为 |
---|---|---|---|
未设置 | 未设置 | 未设置 | 不显示任何内容。 |
设置 | 未设置 | 未设置 | 仅在用户登录时显示内容。 |
未设置 | 设置 | 未设置 | 仅当用户未登录时显示内容。 |
未设置 | 未设置 | 设置 | 显示集合中 RoleGroups 与用户角色之一匹配的第一个模板。 如果未找到匹配项,则不显示任何内容。 |
设置 | 设置 | 未设置 | 如果用户已登录,则显示 属性中指定的 LoggedInTemplate 模板。 如果用户未登录,则显示 属性中指定的 AnonymousTemplate 模板。 |
设置 | 设置 | 设置 | 如果用户已登录,则显示集合中 RoleGroups 与用户角色之一匹配的第一个模板。 如果未找到匹配项,则显示 属性中指定的 LoggedInTemplate 模板。 如果用户未登录,则显示 属性中指定的 AnonymousTemplate 模板。 |
设置 | 未设置 | 设置 | 如果用户已登录,则显示集合中 RoleGroups 与用户角色之一匹配的第一个模板。 如果未找到匹配项,则显示 属性中指定的 LoggedInTemplate 模板。 如果用户未登录,则不会显示任何内容。 |
未设置 | 设置 | 设置 | 如果用户已登录,则显示集合中 RoleGroups 与用户角色之一匹配的第一个模板。 如果未找到匹配项,则不显示任何内容。 如果用户未登录,则显示 属性中指定的 AnonymousTemplate 模板。 |
AnonymousTemplate和 LoggedInTemplate 可与设置 Name 对象 User 属性的 属性Page的任何身份验证方案一起使用。 必须配置角色管理, RoleGroups 以使用 属性根据用户在网站上的角色定义模板。 有关详细信息,请参阅 了解角色管理。
方法 Focus 不会将网页 LoginView 的初始焦点设置为 控件或其任何子控件。 控件中包含的 LoginView 控件是在 事件之后 PreRender 创建的。 若要将焦点设置为 包含 LoginView的子控件,请处理 On_PreRender
并调用其 Focus 方法。 还可以使用 ViewChanging 和 ViewChanged 事件以编程方式访问控件模板中的 LoginView 控件。
声明性语法
<asp:LoginView
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
OnViewChanged="ViewChanged event handler"
OnViewChanging="ViewChanging event handler"
runat="server"
SkinID="string"
Visible="True|False"
>
<AnonymousTemplate>
<!-- child controls -->
</AnonymousTemplate>
<LoggedInTemplate>
<!-- child controls -->
</LoggedInTemplate>
<RoleGroups>
<asp:RoleGroup
Roles="string"
>
<ContentTemplate>
<!-- child controls -->
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
构造函数
LoginView() |
初始化 LoginView 控件的新实例。 |
属性
Adapter |
获取控件的浏览器特定适配器。 (继承自 Control) |
AnonymousTemplate |
获取或设置向未登录到网站的用户显示的模板。 |
AppRelativeTemplateSourceDirectory |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 (继承自 Control) |
BindingContainer |
获取包含该控件的数据绑定的控件。 (继承自 Control) |
ChildControlsCreated |
获取一个值,该值指示是否已创建服务器控件的子控件。 (继承自 Control) |
ClientID |
获取由 ASP.NET 生成的 HTML 标记的控件 ID。 (继承自 Control) |
ClientIDMode |
获取或设置用于生成 ClientID 属性值的算法。 (继承自 Control) |
ClientIDSeparator |
获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。 (继承自 Control) |
Context |
为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。 (继承自 Control) |
Controls |
获取包含 ControlCollection 控件的子控件的 LoginView 对象。 |
DataItemContainer |
如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。 (继承自 Control) |
DataKeysContainer |
如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。 (继承自 Control) |
DesignMode |
获取一个值,该值指示是否正在使用设计图面上的一个控件。 (继承自 Control) |
EnableTheming |
获取或设置一个值,该值指示是否能对 LoginView 控件应用主题。 |
EnableViewState |
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。 (继承自 Control) |
Events |
获取控件的事件处理程序委托列表。 此属性为只读。 (继承自 Control) |
HasChildViewState |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。 (继承自 Control) |
ID |
获取或设置分配给服务器控件的编程标识符。 (继承自 Control) |
IdSeparator |
获取用于分隔控件标识符的字符。 (继承自 Control) |
IsChildControlStateCleared |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。 (继承自 Control) |
IsTrackingViewState |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。 (继承自 Control) |
IsViewStateEnabled |
获取一个值,该值指示是否为该控件启用了视图状态。 (继承自 Control) |
LoadViewStateByID |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 (继承自 Control) |
LoggedInTemplate |
获取或设置向已登录网站但不属于 RoleGroups 属性中指定的任何角色组的网站用户显示的模板。 |
NamingContainer |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。 (继承自 Control) |
Page |
获取对包含服务器控件的 Page 实例的引用。 (继承自 Control) |
Parent |
获取对页 UI 层次结构中服务器控件的父控件的引用。 (继承自 Control) |
RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。 (继承自 Control) |
RoleGroups |
获取将内容模板与特定角色相关联的角色组集合。 |
Site |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。 (继承自 Control) |
SkinID |
获取或设置应用于 LoginView 控件的外观。 |
TemplateControl |
获取或设置对包含该控件的模板的引用。 (继承自 Control) |
TemplateSourceDirectory |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。 (继承自 Control) |
UniqueID |
获取服务器控件的唯一的、以分层形式限定的标识符。 (继承自 Control) |
ValidateRequestMode |
获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。 (继承自 Control) |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 (继承自 Control) |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 (继承自 Control) |
ViewStateMode |
获取或设置此控件的视图状态模式。 (继承自 Control) |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 (继承自 Control) |
方法
事件
DataBinding |
当服务器控件绑定到数据源时发生。 (继承自 Control) |
Disposed |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。 (继承自 Control) |
Init |
当服务器控件初始化时发生;初始化是控件生存期的第一步。 (继承自 Control) |
Load |
当服务器控件加载到 Page 对象中时发生。 (继承自 Control) |
PreRender |
在加载 Control 对象之后、呈现之前发生。 (继承自 Control) |
Unload |
当服务器控件从内存中卸载时发生。 (继承自 Control) |
ViewChanged |
在视图更改后发生。 |
ViewChanging |
在视图更改前发生。 |
显式接口实现
IControlBuilderAccessor.ControlBuilder |
有关此成员的说明,请参见 ControlBuilder。 (继承自 Control) |
IControlDesignerAccessor.GetDesignModeState() |
有关此成员的说明,请参见 GetDesignModeState()。 (继承自 Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
有关此成员的说明,请参见 SetDesignModeState(IDictionary)。 (继承自 Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
有关此成员的说明,请参见 SetOwnerControl(Control)。 (继承自 Control) |
IControlDesignerAccessor.UserData |
有关此成员的说明,请参见 UserData。 (继承自 Control) |
IDataBindingsAccessor.DataBindings |
有关此成员的说明,请参见 DataBindings。 (继承自 Control) |
IDataBindingsAccessor.HasDataBindings |
有关此成员的说明,请参见 HasDataBindings。 (继承自 Control) |
IExpressionsAccessor.Expressions |
有关此成员的说明,请参见 Expressions。 (继承自 Control) |
IExpressionsAccessor.HasExpressions |
有关此成员的说明,请参见 HasExpressions。 (继承自 Control) |
IParserAccessor.AddParsedSubObject(Object) |
有关此成员的说明,请参见 AddParsedSubObject(Object)。 (继承自 Control) |
扩展方法
FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
FindFieldTemplate(Control, String) |
返回指定控件的命名容器中指定列的字段模板。 |
FindMetaTable(Control) |
返回包含数据控件的元表对象。 |
GetDefaultValues(INamingContainer) |
为指定数据控件获取默认值的集合。 |
GetMetaTable(INamingContainer) |
为指定数据控件获取表元数据。 |
SetMetaTable(INamingContainer, MetaTable) |
为指定数据控件设置表元数据。 |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
为指定数据控件设置表元数据和默认值映射。 |
SetMetaTable(INamingContainer, MetaTable, Object) |
为指定数据控件设置表元数据和默认值映射。 |
TryGetMetaTable(INamingContainer, MetaTable) |
确定表元数据是否可用。 |
EnableDynamicData(INamingContainer, Type) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, Object) |
为指定数据控件启用动态数据行为。 |