共用方式為


HierarchicalDataBoundControlAdapter 類別

定義

針對特定瀏覽器要求,自訂與這個控制項配置器關聯的 HierarchicalDataBoundControl 物件之行為。

public ref class HierarchicalDataBoundControlAdapter : System::Web::UI::WebControls::Adapters::WebControlAdapter
public class HierarchicalDataBoundControlAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
type HierarchicalDataBoundControlAdapter = class
    inherit WebControlAdapter
Public Class HierarchicalDataBoundControlAdapter
Inherits WebControlAdapter
繼承
HierarchicalDataBoundControlAdapter

範例

下列程式代碼範例示範如何擴充 HierarchicalDataBoundControlAdapter 類別,以轉譯系結至 XmlDataSource 對象的階層TreeView式控件。

此程式代碼範例包含四個物件:

  • 衍生自類別的 HierarchicalDataBoundControlAdapter 配接器。

  • 包含 TreeView 控制項和裝置特定內容的.aspx檔案。

  • 將適配卡連結至裝置類型的瀏覽器檔案。

  • 包含員工階層式清單的 XML 檔案。

此程式代碼範例包含四個程式代碼區段。 第一個程式代碼區段示範如何擴充 HierarchicalDataBoundControlAdapter 類別。

using System;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;

namespace Contoso
{
    [AspNetHostingPermission(
        SecurityAction.Demand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(
        SecurityAction.InheritanceDemand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    public class HierarchicalTreeViewAdapter :
        System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter
    {
        // Return a strongly-typed TreeView control for adapter.
        protected new System.Web.UI.WebControls.TreeView Control
        {
            get
            {
                return (System.Web.UI.WebControls.TreeView)base.Control;
            }
        }

        // Verify the DataSourceID property is set prior to binding data.
        protected override void PerformDataBinding()
        {
            if (Control.DataSourceID != null)
            {
                base.PerformDataBinding();
            }
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Contoso

    <AspNetHostingPermission(SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class HierarchicalTreeViewAdapter
        Inherits _
        System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter

        ' Return a strongly-typed TreeView control for adapter.
        Protected Overloads ReadOnly Property Control() As _
            System.Web.UI.WebControls.TreeView

            Get
                Return CType( _
                    MyBase.Control, _
                    System.Web.UI.WebControls.TreeView)
            End Get
        End Property

        ' Verify the DataSourceID property is set prior to binding data.
        Protected Overrides Sub PerformDataBinding()

            If (Not Control.DataSourceID Is Nothing) Then

                MyBase.PerformDataBinding()
            End If
        End Sub
    End Class
End Namespace

第二個程式代碼區段示範如何宣告 TreeView 以系結至 XML 數據源。

<%@ page language="c#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HierarchicalDataBoundControl Adapter</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:TreeView ID="TreeView1" 
            Runat="server" 
            DataSourceID="XmlDataSource1">

            <DataBindings>
                <asp:TreeNodeBinding    
                    DataMember="employees" Text="Employees"/>
                <asp:TreeNodeBinding    
                    DataMember="employee" TextField="id" />
                <asp:TreeNodeBinding    
                    DataMember="name" TextField="fullname" />
            </DataBindings>
        </asp:TreeView>
        
        <asp:XmlDataSource ID="XmlDataSource1"  
            Runat="server" 
            DataFile="employees.xml" />
        <br />
    </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HierarchicalDataBoundControl Adapter</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:TreeView ID="TreeView1" 
            Runat="server" 
            DataSourceID="XmlDataSource1">

            <DataBindings>
                <asp:TreeNodeBinding    
                    DataMember="employees" Text="Employees"/>
                <asp:TreeNodeBinding    
                    DataMember="employee" TextField="id" />
                <asp:TreeNodeBinding    
                    DataMember="name" TextField="fullname" />
            </DataBindings>
        </asp:TreeView>
        
        <asp:XmlDataSource ID="XmlDataSource1"  
            Runat="server" 
            DataFile="employees.xml" />
        <br />
    </form>
</body>
</html>

第三個程式代碼區段示範如何將控件連結 TreeView 至 Windows CE 上執行的瀏覽器自定義配接器。

最後的程式代碼區段會提供控件所系結的 XML 數據 TreeView

備註

類別 HierarchicalDataBoundControlAdapter 會調整相關聯的 HierarchicalDataBoundControl 控件,以修改特定瀏覽器的預設標記或行為。 您可以擴充 HierarchicalDataBoundControlAdapter 類別,以進一步自定義控件的轉譯 HierarchicalDataBoundControl

控件 HierarchicalDataBoundControl 系結至數據源,並藉由列舉其系結的數據源中的專案,來產生其使用者介面 (或子控件階層,通常是) 。 如需階層式數據綁定控件的詳細資訊,請參閱 HierarchicalDataBoundControl

控件配接器 are.NET 元件,這些元件會管理特定瀏覽器之控件生命週期中的一或多個階段。 擴充 類別 HierarchicalDataBoundControlAdapter 可讓您存取 控件的 HierarchicalDataBoundControl 生命周期階段。 如需詳細資訊,請參閱 調適型控件行為的架構概觀

配接器的初始要求會使 .NET Framework 在要求瀏覽器的特性下搜尋控件的對應配接器。 類別會使用 HttpBrowserCapabilities 瀏覽器定義檔案來識別客戶端瀏覽器的特性,並將配接器對應至瀏覽器類型。

建構函式

HierarchicalDataBoundControlAdapter()

初始化 HierarchicalDataBoundControlAdapter 類別的新執行個體。

屬性

Browser

取得對用戶端瀏覽器功能的參考 (此用戶端是發出目前 HTTP 要求的用戶端)。

(繼承來源 ControlAdapter)
Control

擷取與這個 HierarchicalDataBoundControl 物件相關聯的 HierarchicalDataBoundControlAdapter 控制項的強型別參考。

IsEnabled

取得值,表示 Web 控制器及其所有父控制項是否都已啟用。

(繼承來源 WebControlAdapter)
Page

取得對頁面的參考 (與此配置器相關聯的控制項便存在於此頁面中)。

(繼承來源 ControlAdapter)
PageAdapter

取得對此頁的頁面配置器的參考 (關聯的控制項便存在於此頁面中)。

(繼承來源 ControlAdapter)

方法

BeginRender(HtmlTextWriter)

在呈現控制項之前呼叫。 在衍生的配置器類別中,產生特定目標所需的開頭標記 (而非 HTML 瀏覽器所需)。

(繼承來源 ControlAdapter)
CreateChildControls()

為複合控制項建立特定目標的子控制項。

(繼承來源 ControlAdapter)
EndRender(HtmlTextWriter)

在呈現控制項之後呼叫。 在衍生的配置器類別中,產生特定目標所需的結尾標記 (而非 HTML 瀏覽器所需)。

(繼承來源 ControlAdapter)
Equals(Object)

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

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LoadAdapterControlState(Object)

載入之前在對頁面發出要求的期間由 SaveAdapterControlState() 所儲存的配置器控制項狀態資訊 (與此控制項配置器相關聯的控制項便存在於此頁面中)。

(繼承來源 ControlAdapter)
LoadAdapterViewState(Object)

載入之前在對頁面發出要求的期間由 SaveAdapterViewState() 所儲存的配置器檢視狀態資訊 (與此控制項配置器相關聯的控制項便存在於此頁面中)。

(繼承來源 ControlAdapter)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnInit(EventArgs)

為關聯控制項覆寫 OnInit(EventArgs) 方法。

(繼承來源 ControlAdapter)
OnLoad(EventArgs)

為關聯控制項覆寫 OnLoad(EventArgs) 方法。

(繼承來源 ControlAdapter)
OnPreRender(EventArgs)

為關聯控制項覆寫 OnPreRender(EventArgs) 方法。

(繼承來源 ControlAdapter)
OnUnload(EventArgs)

為關聯控制項覆寫 OnUnload(EventArgs) 方法。

(繼承來源 ControlAdapter)
PerformDataBinding()

將關聯階層式資料繫結控制項資料來源中的資料繫結至配置器。

Render(HtmlTextWriter)

為附加控制項配接器的控制項,產生目標特定的標記。

(繼承來源 WebControlAdapter)
RenderBeginTag(HtmlTextWriter)

建立傳送至目標瀏覽器 Web 控制項的標記 (Markup) 中的開頭標記 (Tag)。

(繼承來源 WebControlAdapter)
RenderChildren(HtmlTextWriter)

為複合控制項中的子控制項產生特定目標的標記 (控制項配置器會附加至此複合控制項)。

(繼承來源 ControlAdapter)
RenderContents(HtmlTextWriter)

為附加控制項配置器的 Web 控制項產生特定目標內部標記。

(繼承來源 WebControlAdapter)
RenderEndTag(HtmlTextWriter)

建立傳送至目標瀏覽器 Web 控制項的標記 (Markup) 中的結尾標記 (Tag)。

(繼承來源 WebControlAdapter)
SaveAdapterControlState()

儲存控制項配置器的控制項狀態資訊。

(繼承來源 ControlAdapter)
SaveAdapterViewState()

儲存控制項配置器的檢視狀態資訊。

(繼承來源 ControlAdapter)
ToString()

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

(繼承來源 Object)

適用於

另請參閱