Поделиться через


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

Во втором сегменте кода показано, как объявить 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

Возвращает значение, показывающее доступность веб-элемента управления и всех его родительских элементов управления.

(Унаследовано от 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)

Создает начальный тег веб-элемента управления в разметке для передачи в целевой браузер.

(Унаследовано от WebControlAdapter)
RenderChildren(HtmlTextWriter)

Создает целевую разметку для дочерних элементов управления в составном элементе управления, к которому присоединяется адаптер элемента управления.

(Унаследовано от ControlAdapter)
RenderContents(HtmlTextWriter)

Создает для веб-элемента управления, к которому присоединен соответствующий адаптер, особую внутреннюю разметку, характерную для целевого объекта.

(Унаследовано от WebControlAdapter)
RenderEndTag(HtmlTextWriter)

Создает закрывающий тег веб-элемента управления в разметке для передачи в целевой браузер.

(Унаследовано от WebControlAdapter)
SaveAdapterControlState()

Сохраняет сведения о состоянии элемента управления для адаптера элемента управления.

(Унаследовано от ControlAdapter)
SaveAdapterViewState()

Сохраняет сведения о состоянии просмотра для адаптера элемента управления.

(Унаследовано от ControlAdapter)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел