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 コントロールをレンダリングする方法を示します。

このコード例には、次の 4 つのオブジェクトが含まれています。

  • HierarchicalDataBoundControlAdapter クラスから派生したアダプター。

  • TreeView コントロールとデバイス固有のコンテンツを組み込んだ.aspx ファイル。

  • アダプターをデバイスの種類にリンクするブラウザー ファイル。

  • 従業員の階層リストを含む XML ファイル。

このコード例は、4 つのコード セグメントで構成されています。 最初のコード セグメントは、 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

2 番目のコード セグメントは、XML データ ソースにバインドする TreeView を宣言する方法を示しています。

<%@ 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>

3 番目のコード セグメントは、TreeView コントロールを、Windows CE で実行されているブラウザー用のカスタム アダプターにリンクする方法を示しています。

最後のコード セグメントは、 TreeView コントロールがバインドする XML データを提供します。

注釈

HierarchicalDataBoundControlAdapter クラスは、関連付けられているHierarchicalDataBoundControl コントロールを調整して、特定のブラウザーの既定のマークアップまたは動作を変更します。 HierarchicalDataBoundControlAdapter クラスを拡張して、HierarchicalDataBoundControl コントロールのレンダリングをさらにカスタマイズできます。

HierarchicalDataBoundControl コントロールはデータ ソースにバインドされ、バインド先のデータ ソース内の項目を列挙することによって、そのユーザー インターフェイス (通常は子コントロール階層) を生成します。 階層データ バインド コントロールの詳細については、「 HierarchicalDataBoundControl」を参照してください。

コントロール アダプターとは.NET特定のブラウザーのコントロールのライフ サイクルで 1 つ以上のステージを管理するコンポーネントです。 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 コントロールの開始タグを作成します。

(継承元 WebControlAdapter)
RenderChildren(HtmlTextWriter)

コントロール アダプターがアタッチされている複合コントロール内の子コントロールのターゲット固有のマークアップを生成します。

(継承元 ControlAdapter)
RenderContents(HtmlTextWriter)

コントロール アダプターがアタッチされている Web コントロールのターゲット固有の内部マークアップを生成します。

(継承元 WebControlAdapter)
RenderEndTag(HtmlTextWriter)

ターゲット ブラウザーに送信されるマークアップ内の Web コントロールの終了タグを作成します。

(継承元 WebControlAdapter)
SaveAdapterControlState()

コントロール アダプターのコントロール状態情報を保存します。

(継承元 ControlAdapter)
SaveAdapterViewState()

コントロール アダプターのビューステート情報を保存します。

(継承元 ControlAdapter)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください