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 屬性 | 匿名範本屬性 | RoleGroups 屬性 | LoginView 行為 |
---|---|---|---|
未設定 | 未設定 | 未設定 | 不顯示任何內容。 |
設定 | 未設定 | 未設定 | 只有在使用者登入時,才會顯示內容。 |
未設定 | 設定 | 未設定 | 只有在使用者未登入時,才會顯示內容。 |
未設定 | 未設定 | 設定 | 顯示集合中 RoleGroups 符合其中一個使用者角色的第一個範本。 如果找不到相符專案,則不會顯示任何內容。 |
設定 | 設定 | 未設定 | 如果使用者登入,會顯示 屬性中指定的 LoggedInTemplate 範本。 如果使用者未登入,則會顯示 屬性中指定的 AnonymousTemplate 範本。 |
設定 | 設定 | 設定 | 如果使用者登入,則會在集合中 RoleGroups 顯示符合其中一個使用者角色的第一個範本。 如果找不到相符專案,則顯示 屬性中指定的 LoggedInTemplate 範本。 如果未登入使用者,則會顯示 屬性中指定的 AnonymousTemplate 範本。 |
設定 | 未設定 | 設定 | 如果使用者登入,則會在集合中 RoleGroups 顯示符合其中一個使用者角色的第一個範本。 如果找不到相符專案,則顯示 屬性中指定的 LoggedInTemplate 範本。 如果未登入使用者,則不會顯示任何內容。 |
未設定 | 設定 | 設定 | 如果使用者登入,則會在集合中 RoleGroups 顯示符合其中一個使用者角色的第一個範本。 如果找不到相符專案,就不會顯示任何專案。 如果未登入使用者,則會顯示 屬性中指定的 AnonymousTemplate 範本。 |
和 AnonymousTemplateLoggedInTemplate 可以搭配任何設定物件User屬性屬性的Page驗證配置Name使用。 您必須設定角色管理, 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 標記的控制項識別碼。 (繼承來源 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 |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 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 |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 (繼承來源 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) |
針對指定的資料控制項啟用動態資料行為。 |