HideDisabledControlAdapter クラス

定義

関連付けられている Web コントロールのレンダリング機能を提供して、特定のブラウザーの既定のマークアップまたは動作を変更します。

public ref class HideDisabledControlAdapter : System::Web::UI::WebControls::Adapters::WebControlAdapter
public class HideDisabledControlAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
type HideDisabledControlAdapter = class
    inherit WebControlAdapter
Public Class HideDisabledControlAdapter
Inherits WebControlAdapter
継承
HideDisabledControlAdapter

次のコード例は、 HideDisabledControlAdapter クラスを拡張して、 Label コントロールを有効および無効の状態で表示する方法を示しています。 この例には、次の 3 つの部分が含まれています。

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

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

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

次のコード例では、 HideDisabledControlAdapter クラスを拡張する方法を示します。

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 HideDisabledControlContosoAdapter:
        System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
    {
        // Link the Label control to the adapter.
        protected new System.Web.UI.WebControls.Label Control
        {
            get
            {
                return (System.Web.UI.WebControls.Label)base.Control;
            }
        }

        // Do not render the Contoso controls if Enabled is false.
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (Control.ID.StartsWith("Contoso"))
            {
                if (!Control.Enabled)
                {
                    return;
                }
            }

            base.Render(writer);
        }
    }
}
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions

Namespace Contoso
    <AspNetHostingPermission( _
        SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission( _
        SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class HideDisabledControlContosoAdapter
        Inherits System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
    
        Protected Overloads ReadOnly Property Control() As _
            System.Web.UI.WebControls.Label
            Get
                Return CType( _
                    MyBase.Control, _
                    System.Web.UI.WebControls.Label)
            End Get
        End Property

        ' Do not render the control if Enabled is false.
        Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
            If (Control.ID.StartsWith("Contoso")) Then
                If (Not Control.Enabled) Then
                    Return
                End If
            End If

            MyBase.Render(writer)
        End Sub
    End Class
End Namespace

次のコード例では、デバイス固有のコンテンツを使用して Label コントロールを宣言する方法を示します。

<%@ 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 id="Head1" runat="server">
    <title>HideDisabledControl Adapter</title>
    <script runat="server">
        void ServerButtonClick(Object source, EventArgs args)
        {
            if (Button1.Text == "Enable Label")
            {
                ContosoLabel1.Enabled = true;
                Button1.Text = "Disable Label";
                messageLabel.Text = "The label is <b>En</b>abled";
            }
            else
            {
                ContosoLabel1.Enabled = false;
                Button1.Text = "Enable Label";
                messageLabel.Text = "The label is <b>dis</b>abled";
            }
        }
    </script>
</head>
<body style="background-color:silver">
    <form id="Form1" runat="server">
        <asp:Label id="ContosoLabel1"             
            text="Contoso Label" 
            WinCE:text="CE Label"
            BorderWidth="3" 
            BorderStyle="Inset"
            style="FONT-SIZE: xx-small"
            runat="server">
            </asp:Label>
        <br />
        <asp:Button id="Button1" 
            text="Disable Label"
            OnClick="ServerButtonClick" 
            runat="server" />
        <br />    
        <asp:Label id="messageLabel" 
            runat="server" 
            style="FONT-SIZE: xx-small"
            AssociatedControlID="Button1">
            <i>Select the button to disable the label.</i>
        </asp:Label>
    </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 id="Head1" runat="server">
    <title>HideDisabledControl Adapter</title>
    <script runat="server">
        Sub ServerButtonClick(ByVal source As Object, ByVal args As EventArgs)
            If (Button1.Text.Equals("Enable Label")) Then
                ContosoLabel1.Enabled = True
                Button1.Text = "Disable Label"
                messageLabel.Text = "The label is <b>En</b>abled"
            Else
                ContosoLabel1.Enabled = False
                Button1.Text = "Enable Label"
                messageLabel.Text = "The label is <b>dis</b>abled"
            End If
        End Sub
    </script>
</head>
<body style="background-color:silver">
    <form id="Form1" runat="server">
        <asp:Label id="ContosoLabel1"             
            text="Contoso Label" 
            WinCE:text="CE Label"
            BorderWidth="3" 
            BorderStyle="Inset"
            style="FONT-SIZE: xx-small"
            runat="server">
            </asp:Label>
        <br />
        <asp:Button id="Button1" 
            text="Disable Label"
            OnClick="ServerButtonClick" 
            runat="server" />
        <br />    
        <asp:Label id="messageLabel" 
            runat="server" 
            style="FONT-SIZE: xx-small"
            AssociatedControlID="Button1">
            <i>Select the button to disable the label.</i>
        </asp:Label>
    </form>
</body>
</html>

次のコード例は、Label コントロールを、Windows CE .NETで実行されているブラウザー用のカスタム アダプターにリンクする方法を示しています。

注釈

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

アダプターは、ページまたはコントロールのライフ サイクルで 1 つ以上のステージを引き継ぐフレームワーク コンポーネント.NETコンパイルされます。 HideDisabledControlAdapter クラスを拡張すると、WebControl コントロールのライフ サイクル ステージにアクセスできるようになります。 詳細については、「 アダプティブ コントロール動作のアーキテクチャの概要」を参照してください。

アダプターの最初の要求により、.NET Framework は、要求するブラウザーの特性を考慮して、コントロールのマップされたアダプターを検索します。 ブラウザー定義ファイルは、クライアント ブラウザーの特性を識別し、アダプターをブラウザーの種類にマップするために、 HttpBrowserCapabilities クラスによって使用されます。 詳細については、「 アダプティブ コントロール動作のアーキテクチャの概要」を参照してください。

コンストラクター

名前 説明
HideDisabledControlAdapter()

HideDisabledControlAdapter クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Browser

現在の HTTP 要求を行うクライアントのブラウザー機能への参照を取得します。

(継承元 ControlAdapter)
Control

このコントロール アダプターが接続されている Web コントロールへの参照を取得します。

(継承元 WebControlAdapter)
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)
Render(HtmlTextWriter)

関連付けられた Web コントロールを HTML として出力ストリームに書き込みます。

RenderBeginTag(HtmlTextWriter)

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

(継承元 WebControlAdapter)
RenderChildren(HtmlTextWriter)

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

(継承元 ControlAdapter)
RenderContents(HtmlTextWriter)

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

(継承元 WebControlAdapter)
RenderEndTag(HtmlTextWriter)

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

(継承元 WebControlAdapter)
SaveAdapterControlState()

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

(継承元 ControlAdapter)
SaveAdapterViewState()

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

(継承元 ControlAdapter)
ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください