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 上运行的浏览器的自定义适配器。

最终的代码段提供控件绑定到的 TreeView XML 数据。

注解

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)

在呈现控件前调用。 在派生的 adapter 类中,生成特定目标需要但 HTML 浏览器不需要的开始标记。

(继承自 ControlAdapter)
CreateChildControls()

为复合控件创建特定于目标的子控件。

(继承自 ControlAdapter)
EndRender(HtmlTextWriter)

在呈现控件后调用。 在派生的 adapter 类中,生成特定目标需要但 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)

适用于

另请参阅