HierarchicalDataBoundControlAdapter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
針對特定瀏覽器請求,自訂與此控制介面卡關聯的物件行為 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類別以渲染綁定於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) |