語言

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類別以渲染綁定於TreeView物件的階層XmlDataSource控制項。

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

  • 一個由該 HierarchicalDataBoundControlAdapter 類別衍生而來的轉接器。

  • .aspx檔案,包含 TreeView 控制項和裝置專屬內容。

  • 一個瀏覽器檔案,用來將轉接器連結到裝置類型。

  • 一個包含員工階層清單的 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

第二段程式碼示範如何宣告 a TreeView to 綁定到 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 瀏覽器的自訂轉接器。

最終的程式碼段提供控制 TreeView 項綁定的 XML 資料。

備註

該 HierarchicalDataBoundControlAdapter 類別會調整相關 HierarchicalDataBoundControl 控制項,以修改特定瀏覽器的預設標記或行為。 你可以擴充 HierarchicalDataBoundControlAdapter 類別,進一步自訂控制的渲染 HierarchicalDataBoundControl 。

控制 HierarchicalDataBoundControl 項綁定於資料來源,並透過枚舉該資料來源中的項目來產生其使用者介面(或子控制階層)。 欲了解更多關於階層式資料綁定控制的資訊,請參見 HierarchicalDataBoundControl。

控制介面卡是管理特定瀏覽器控制項生命週期中一個或多個階段的 .NET 元件。 擴展 HierarchicalDataBoundControlAdapter 類別可 HierarchicalDataBoundControl 存取控制的生命週期階段。 欲了解更多資訊,請參閱 《自適應控制行為架構概述》。

初始對介面卡的請求會使 .NET Framework 根據請求瀏覽器的特性,搜尋該控制項的映射介面卡。 類別使用 HttpBrowserCapabilities 瀏覽器定義檔案來識別用戶端瀏覽器的特性,並將適配器映射到瀏覽器類型。

建構函式

名稱 Description
HierarchicalDataBoundControlAdapter()

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

屬性

名稱 Description
Browser

會取得目前 HTTP 請求客戶端瀏覽器功能的參考。

(繼承來源 ControlAdapter)
Control

取得與 HierarchicalDataBoundControl 此 HierarchicalDataBoundControlAdapter 物件相關控制項的強型別參考。

IsEnabled

會獲得一個值,表示網頁控制項及其所有父控制項是否已啟用。

(繼承來源 WebControlAdapter)
Page

會取得指向該轉接器相關控制項所在頁面的參考。

(繼承來源 ControlAdapter)
PageAdapter

會取得該頁面介面卡的參考,該頁面包含相關控制項所在。

(繼承來源 ControlAdapter)

方法

名稱 Description
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)

在傳送到目標瀏覽器的標記中建立網頁控制項的起始標籤。

(繼承來源 WebControlAdapter)
RenderChildren(HtmlTextWriter)

在複合控制中產生針對特定目標的標記,並附有控制適配器。

(繼承來源 ControlAdapter)
RenderContents(HtmlTextWriter)

產生控制轉接器所連接的網路控制的目標特定內部標記。

(繼承來源 WebControlAdapter)
RenderEndTag(HtmlTextWriter)

在標記中建立 Web 控制項的結尾標籤,傳送到目標瀏覽器。

(繼承來源 WebControlAdapter)
SaveAdapterControlState()

儲存控制狀態資訊給控制介面卡。

(繼承來源 ControlAdapter)
SaveAdapterViewState()

儲存控制介面卡的檢視狀態資訊。

(繼承來源 ControlAdapter)
ToString()

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

(繼承來源 Object)

適用於

另請參閱