Share via


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>

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

注釈

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

アダプターは、ページまたはコントロールのライフ サイクルで 1 つ以上のステージを引き継ぐコンポーネント.NET Frameworkコンパイルされます。 クラスを 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)

適用対象

こちらもご覧ください