共用方式為


LoginView 類別

定義

根據使用者的驗證狀態和角色成員資格,顯示指定使用者的適當內容範本。

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
屬性
實作

範例

下列程式代碼範例示範如何設定 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 可以搭配任何驗證配置使用,以設定 Page 物件 User 屬性的 Name 屬性。 您必須設定角色管理,才能使用 RoleGroups 屬性,根據用戶網站上的角色定義範本。 如需詳細資訊,請參閱 瞭解角色管理

Focus 方法不會將網頁的初始焦點設定為 LoginView 控件或其任何子控件。 LoginView 控件中包含的控件會在 PreRender 事件之後建立。 若要將焦點設定為 LoginView所包含的子控件,請處理 On_PreRender 並呼叫其 Focus 方法。 您也可以使用 ViewChangingViewChanged 事件,以程式設計方式存取 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

取得或設定包含這個控制項之 PageUserControl 物件的應用程式相對虛擬目錄。

(繼承來源 Control)
BindingContainer

取得包含此控件數據系結的 控件。

(繼承來源 Control)
ChildControlsCreated

取得值,這個值表示是否已建立伺服器控制件的子控件。

(繼承來源 Control)
ClientID

取得由 ASP.NET 產生的 HTML 標記控件識別碼。

(繼承來源 Control)
ClientIDMode

取得或設定用來產生 ClientID 屬性值的演算法。

(繼承來源 Control)
ClientIDSeparator

取得字元值,表示 ClientID 屬性中使用的分隔符。

(繼承來源 Control)
Context

取得與目前 Web 要求之伺服器控制項相關聯的 HttpContext 物件。

(繼承來源 Control)
Controls

取得包含 LoginView 控件之子控件的 ControlCollection 物件。

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

取得頁面控件階層中伺服器控制件之父控件的參考。

(繼承來源 Control)
RenderingCompatibility

取得值,指定轉譯 HTML 與 的 ASP.NET 版本相容。

(繼承來源 Control)
RoleGroups

取得將內容範本與特定角色建立關聯之角色群組的集合。

Site

取得在設計介面上呈現時裝載目前控制件之容器的相關信息。

(繼承來源 Control)
SkinID

取得或設定要套用至 LoginView 控件的面板。

TemplateControl

取得或設定包含這個控件之範本的參考。

(繼承來源 Control)
TemplateSourceDirectory

取得包含目前伺服器控制件之 PageUserControl 的虛擬目錄。

(繼承來源 Control)
UniqueID

取得伺服器控制件的唯一階層式限定標識碼。

(繼承來源 Control)
ValidateRequestMode

取得或設定值,這個值表示控件是否會檢查瀏覽器的用戶端輸入是否有潛在的危險值。

(繼承來源 Control)
ViewState

取得狀態資訊的字典,可讓您跨相同頁面的多個要求儲存和還原伺服器控件的檢視狀態。

(繼承來源 Control)
ViewStateIgnoresCase

取得值,這個值表示 StateBag 物件是否不區分大小寫。

(繼承來源 Control)
ViewStateMode

取得或設定這個控件的檢視狀態模式。

(繼承來源 Control)
Visible

取得或設定值,這個值表示伺服器控制項是否呈現為頁面上的UI。

(繼承來源 Control)

方法

AddedControl(Control, Int32)

在子控件新增至 Control 物件的 Controls 集合之後呼叫。

(繼承來源 Control)
AddParsedSubObject(Object)

通知伺服器控制項已剖析 XML 或 HTML 元素,並將專案加入至伺服器控制件的 ControlCollection 物件。

(繼承來源 Control)
ApplyStyleSheetSkin(Page)

將頁面樣式表單中定義的樣式屬性套用至 控件。

(繼承來源 Control)
BeginRenderTracing(TextWriter, Object)

開始對轉譯數據進行設計時間追蹤。

(繼承來源 Control)
BuildProfileTree(String, Boolean)

收集伺服器控制件的相關信息,並將它傳遞給在啟用頁面追蹤時要顯示的 Trace 屬性。

(繼承來源 Control)
ClearCachedClientID()

將快取 ClientID 值設定為 null

(繼承來源 Control)
ClearChildControlState()

刪除伺服器控制項子控制件的控制項狀態資訊。

(繼承來源 Control)
ClearChildState()

刪除所有伺服器控制項子控件的檢視狀態和控件狀態資訊。

(繼承來源 Control)
ClearChildViewState()

刪除所有伺服器控制件子控件的檢視狀態資訊。

(繼承來源 Control)
ClearEffectiveClientIDMode()

將目前控制項實體和任何子控制件的 ClientIDMode 屬性設定為 Inherit

(繼承來源 Control)
CreateChildControls()

建立組成 LoginView 控件的子控件。

CreateControlCollection()

建立新的 ControlCollection 物件,以保存伺服器控制元件的子控件(常值和伺服器)。

(繼承來源 Control)
DataBind()

將數據源系結至 LoginView 及其所有子控件。

DataBind(Boolean)

將數據源系結至叫用的伺服器控制項及其所有子控件,以及具有引發 DataBinding 事件的選項。

(繼承來源 Control)
DataBindChildren()

將數據源系結至伺服器控制件的子控制件。

(繼承來源 Control)
Dispose()

可讓伺服器控制件在從記憶體釋放之前執行最終清除。

(繼承來源 Control)
EndRenderTracing(TextWriter, Object)

結束轉譯數據的設計時間追蹤。

(繼承來源 Control)
EnsureChildControls()

判斷伺服器控制項是否包含子控制件。 如果沒有,它會建立子控件。

(繼承來源 Control)
EnsureID()

為未指派標識碼的控件建立標識符。

(繼承來源 Control)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindControl(String, Int32)

使用指定的 idpathOffset 參數中指定的整數,搜尋目前命名容器中的伺服器控制件,以協助搜尋。 您不應該覆寫這個版本的 FindControl 方法。

(繼承來源 Control)
FindControl(String)

使用指定的 id 參數搜尋伺服器控制元件的目前命名容器。

(繼承來源 Control)
Focus()

將輸入焦點設定為控件。

GetDesignModeState()

取得控制件的設計時間數據。

(繼承來源 Control)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetRouteUrl(Object)

取得對應至一組路由參數的URL。

(繼承來源 Control)
GetRouteUrl(RouteValueDictionary)

取得對應至一組路由參數的URL。

(繼承來源 Control)
GetRouteUrl(String, Object)

取得對應至一組路由參數和路由名稱的URL。

(繼承來源 Control)
GetRouteUrl(String, RouteValueDictionary)

取得對應至一組路由參數和路由名稱的URL。

(繼承來源 Control)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GetUniqueIDRelativeTo(Control)

傳回指定控件之 UniqueID 屬性的前置部分。

(繼承來源 Control)
HasControls()

判斷伺服器控制項是否包含任何子控制件。

(繼承來源 Control)
HasEvents()

傳回值,指出事件是註冊控件或任何子控件。

(繼承來源 Control)
IsLiteralContent()

判斷伺服器控制項是否只保留常值內容。

(繼承來源 Control)
LoadControlState(Object)

這個方法會實作 LoadControlState(Object)

LoadViewState(Object)

SaveViewState() 方法儲存的上一頁要求還原檢視狀態資訊。

(繼承來源 Control)
MapPathSecure(String)

擷取虛擬路徑對應至的實體路徑,無論是絕對路徑還是相對路徑。

(繼承來源 Control)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnBubbleEvent(Object, EventArgs)

判斷伺服器控制件的事件是否已傳遞頁面的 UI 伺服器控制件階層。

(繼承來源 Control)
OnDataBinding(EventArgs)

引發 DataBinding 事件。

(繼承來源 Control)
OnInit(EventArgs)

引發 Init 事件。

OnLoad(EventArgs)

引發 Load 事件。

(繼承來源 Control)
OnPreRender(EventArgs)

根據登入使用者的角色,決定要顯示的角色群組範本。

OnUnload(EventArgs)

引發 Unload 事件。

(繼承來源 Control)
OnViewChanged(EventArgs)

LoginView 控件切換檢視之後引發 ViewChanged 事件。

OnViewChanging(EventArgs)

LoginView 控件切換檢視之前引發 ViewChanging 事件。

OpenFile(String)

取得用來讀取檔案的 Stream

(繼承來源 Control)
RaiseBubbleEvent(Object, EventArgs)

將事件的任何來源及其資訊指派給控件的父系。

(繼承來源 Control)
RemovedControl(Control)

Control 物件的 Controls 集合中移除子控件之後呼叫。

(繼承來源 Control)
Render(HtmlTextWriter)

使用指定的 HtmlTextWriter 物件,將網頁伺服器控件內容轉譯至客戶端的瀏覽器。

RenderChildren(HtmlTextWriter)

將伺服器控制件的子系內容輸出至提供的 HtmlTextWriter 物件,以寫入要呈現在用戶端上的內容。

(繼承來源 Control)
RenderControl(HtmlTextWriter, ControlAdapter)

使用提供的 ControlAdapter 物件,將伺服器控制項內容輸出至提供的 HtmlTextWriter 物件。

(繼承來源 Control)
RenderControl(HtmlTextWriter)

將伺服器控制項內容輸出至提供的 HtmlTextWriter 物件,並在啟用追蹤時儲存控件的追蹤資訊。

(繼承來源 Control)
ResolveAdapter()

取得負責轉譯指定控件的控件配接器。

(繼承來源 Control)
ResolveClientUrl(String)

取得瀏覽器可以使用的URL。

(繼承來源 Control)
ResolveUrl(String)

將 URL 轉換成可在要求用戶端上使用的 URL。

(繼承來源 Control)
SaveControlState()

儲存自頁面回傳至伺服器之後發生的任何伺服器控制項狀態變更。

SaveViewState()

儲存自頁面回傳至伺服器之後所發生的任何伺服器控件檢視狀態變更。

(繼承來源 Control)
SetDesignModeState(IDictionary)

設定控制件的設計時間數據。

SetRenderMethodDelegate(RenderMethod)

指派事件處理程式委派,將伺服器控件及其內容轉譯成其父控件。

(繼承來源 Control)
SetTraceData(Object, Object, Object)

使用追蹤物件、追蹤數據索引鍵和追蹤數據值,設定轉譯數據的設計時間追蹤數據。

(繼承來源 Control)
SetTraceData(Object, Object)

使用追蹤數據索引鍵和追蹤數據值,設定轉譯數據的設計時間追蹤數據。

(繼承來源 Control)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
TrackViewState()

導致追蹤伺服器控制件的檢視狀態變更,以便儲存在伺服器控件的 StateBag 物件中。 這個物件可透過 ViewState 屬性存取。

(繼承來源 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, IDictionary<String,Object>)

設定指定之數據控制元件的數據表元數據和預設值對應。

SetMetaTable(INamingContainer, MetaTable, Object)

設定指定之數據控制元件的數據表元數據和預設值對應。

SetMetaTable(INamingContainer, MetaTable)

設定指定之數據控制元件的數據表元數據。

TryGetMetaTable(INamingContainer, MetaTable)

判斷數據表元數據是否可用。

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

啟用指定數據控制件的動態數據行為。

EnableDynamicData(INamingContainer, Type, Object)

啟用指定數據控制件的動態數據行為。

EnableDynamicData(INamingContainer, Type)

啟用指定數據控制件的動態數據行為。

適用於

另請參閱