PageAdapter クラス

定義

特定のブラウザーに対応するように Web ページを調整し、すべてのページ アダプターの直接または間接的な継承元となる基本クラスを提供します。

public ref class PageAdapter abstract : System::Web::UI::Adapters::ControlAdapter
public abstract class PageAdapter : System.Web.UI.Adapters.ControlAdapter
type PageAdapter = class
    inherit ControlAdapter
Public MustInherit Class PageAdapter
Inherits ControlAdapter
継承
PageAdapter

次のコード例は、クラスから名前付きの CustomPageAdapter クラスを派生させ、メソッドを PageAdapter オーバーライドする方法を RenderBeginHyperlink 示しています。 このメソッドは RenderBeginHyperlink 、現在のページへの参照を含むハイパーリンクに名前付きの src 属性を追加します。 添付されているページ CustomPageAdapter に表示されるすべてのハイパーリンクには、属性が src 含まれます。

using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.Adapters;

// A derived PageAdapter class.
public class CustomPageAdapter : PageAdapter
{
    // Override RenderBeginHyperlink to add an attribute that 
    // references the referring page.
    public override void RenderBeginHyperlink(
        HtmlTextWriter writer, string targetUrl,
        bool encodeUrl, string softkeyLabel, 
        string accessKey )
    {
        string url = null;

        // Add the src attribute, if referring page URL is available.
        if( Page != null && Page.Request != null &&
            Page.Request.Url != null )
        {
            url = Page.Request.Url.AbsoluteUri;
            if( encodeUrl )
                url = HttpUtility.HtmlAttributeEncode( url );
            writer.AddAttribute( "src", url );
        }

        // Add the accessKey attribute, if caller requested.
        if( accessKey != null && accessKey.Length == 1 )
            writer.AddAttribute( "accessKey", accessKey );

        // Add the href attribute, encode the URL if requested.
        if( encodeUrl )
            url = HttpUtility.HtmlAttributeEncode( targetUrl );
        else
            url = targetUrl;
        writer.AddAttribute( "href", url );

        // Render the hyperlink opening tag with the added attributes.
        writer.RenderBeginTag( "a" );
    }
}
Imports System.IO
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Adapters

' A derived PageAdapter class.
Public Class CustomPageAdapter
    Inherits PageAdapter

    ' Override RenderBeginHyperlink to add an attribute that 
    ' references the referring page.
    Public Overrides Sub RenderBeginHyperlink( _
        ByVal writer As HtmlTextWriter, ByVal targetUrl As String, _
        ByVal encodeUrl As Boolean, ByVal softkeyLabel As String, _
        ByVal accessKey As String)

        Dim url As String

        ' Add the src attribute, if referring page URL is available.
        If Not (Page Is Nothing) Then
            If Not (Page.Request Is Nothing) Then
                If Not (Page.Request.Url Is Nothing) Then

                    url = Page.Request.Url.AbsoluteUri
                    If encodeUrl Then
                        url = HttpUtility.HtmlAttributeEncode(url)
                    End If
                    writer.AddAttribute("src", url)
                End If
            End If
        End If

        ' Render the accessKey attribute, if requested.
        If Not (accessKey Is Nothing) Then
            If accessKey.Length = 1 Then
                writer.AddAttribute("accessKey", accessKey)
            End If
        End If

        ' Add the href attribute, encode the URL if requested.
        If (encodeUrl) Then
            url = HttpUtility.HtmlAttributeEncode(targetUrl)
        Else
            url = targetUrl
        End If
        writer.AddAttribute("href", url)

        ' Render the hyperlink opening tag with the added attributes.
        writer.RenderBeginTag("a")

    End Sub
End Class

注釈

この PageAdapter クラスは、ブラウザーが使用するマークアップ言語 (HTML や XHTML など) によって定義された、特定のブラウザー クラスに Web ページを適応させる抽象クラスです。 レンダリング動作の適応性の多くは、クラスから HtmlTextWriter 派生する特殊なテキスト ライター クラスにカプセル化できるため、常にページ アダプターを提供する必要はありません。

派生ページ アダプターのほとんどのメンバーは、クラスまたはコントロール アダプターから Page 呼び出されます。 まず、 Page クラスまたはコントロール アダプターが派生ページ アダプターの存在を検出し、そのメンバーを呼び出すか、ページ アダプターが存在しない場合は機能を提供します。

クラスの PageAdapter メンバーは、次の機能を提供します。

  • プロパティはCacheVaryByHeadersCacheVaryByParams、キャッシュを変更するために使用できる追加の HTTP ヘッダーと HTTP GETPOSTパラメーターを定義します。 これらは、クラスからのキャッシュの初期化中に呼び出されます Page

  • このメソッドは GetStatePersister 、ページのビューとコントロールの状態を結合して保持するために使用できるオブジェクトを返します。 派生ページ アダプターが存在する PageStatePersister 場合は、プロパティから参照されます。

  • このメソッドは GetPostBackFormReference 、スクリプト内のフォームを参照するために使用できる DHTML コード フラグメントを提供します。

  • ページがポストバックにある場合、このメソッドは DeterminePostBackMode ポストバック変数のコレクションを返します。 派生ページ アダプターが存在する場合は、メソッドのPage.DeterminePostBackMode代わりに.NET Frameworkによって呼び出されます。

  • メソッド RenderBeginHyperlinkRenderEndHyperlink 、派生ページ アダプターが存在する場合にハイパーリンクをレンダリングするためにコントロール アダプターによって使用されます。

  • このメソッドは RenderPostBackEvent 、フォームを送信できるハイパーリンクまたはポストバック クライアント タグをレンダリングします。

  • およびRegisterRadioButtonGetRadioButtonsByGroupメソッドは、ラジオ ボタン コントロール アダプターによって、ラジオ ボタン グループ内の他RadioButtonのコントロールを参照するために使用されます。

  • このプロパティはClientState、クラスの内部ClientStateプロパティを使用して、Pageオブジェクトの結合されたコントロールとビューの状態にPageアクセスできます。

  • この TransformText メソッドは、デバイス固有のテキスト変換を実行するためにコントロール アダプターによって使用されます。

コンストラクター

PageAdapter()

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

プロパティ

Browser

現在の HTTP 要求の作成元であるクライアントのブラウザー機能への参照を取得します。

(継承元 ControlAdapter)
CacheVaryByHeaders

この派生ページ アダプターが割り当てられた Web ページのキャッシュを変更する、追加の HTTP ヘッダーのリストを取得します。

CacheVaryByParams

この派生ページ アダプターが割り当てられた Web ページのキャッシュを変更する、HTTP の GET 要求および POST 要求からの追加パラメーターのリストを取得します。

ClientState

この派生ページ アダプターが割り当てられた Web ページのビューとコントロールの状態データを含んだ、エンコード済みの文字列を取得します。

Control

このコントロール アダプターの割り当て先コントロールへの参照を取得します。

(継承元 ControlAdapter)
Page

このアダプターに関連付けられたコントロールが配置されているページへの参照を取得します。

(継承元 ControlAdapter)
PageAdapter

関連付けられたコントロールが配置されているページのページ アダプターへの参照を取得します。

(継承元 ControlAdapter)

メソッド

BeginRender(HtmlTextWriter)

コントロールの表示前に呼び出されます。 派生アダプター クラスで、HTML ブラウザーには必要ではなくても特定のターゲットには必要な開始タグを生成します。

(継承元 ControlAdapter)
CreateChildControls()

複合コントロールのターゲット固有の子コントロールを作成します。

(継承元 ControlAdapter)
DeterminePostBackMode()

Web ページがポストバック中で、ポストバック変数の名前/値コレクションを返すかどうかを判断します。

DeterminePostBackModeUnvalidated()

要求に対して ASP.NET 要求の検証を実行せずに、POST また GET コマンドを使用して、ページにポストされたデータの名前と値のコレクションを返します。

EndRender(HtmlTextWriter)

コントロールの表示後に呼び出されます。 派生アダプター クラスで、HTML ブラウザーには必要ではなくても特定のターゲットには必要な終了タグを生成します。

(継承元 ControlAdapter)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetPostBackFormReference(String)

送信されたページ上のフォームを参照するためにクライアント ブラウザーが使用できる DHTML のコード片を返します。

GetRadioButtonsByGroup(String)

groupName で指定したオプション ボタン コントロールのコレクションを取得します。

GetStatePersister()

コントロールおよびビューステートを維持するために Web ページで使用されるオブジェクトを返します。

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)
RegisterRadioButton(RadioButton)

オプション ボタン コントロールを、指定したオプション ボタン グループのコレクションに追加します。

Render(HtmlTextWriter)

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

(継承元 ControlAdapter)
RenderBeginHyperlink(HtmlTextWriter, String, Boolean, String)

応答ストリームに対して、ターゲット URL を含んだハイパーリンクの開始タグをレンダリングします。

RenderBeginHyperlink(HtmlTextWriter, String, Boolean, String, String)

応答ストリームに対して、ターゲット URL とアクセス キーを含んだハイパーリンクの開始タグをレンダリングします。

RenderChildren(HtmlTextWriter)

コントロール アダプターの割り当て先である複合コントロールに含まれる子コントロールのターゲット固有のマークアップを生成します。

(継承元 ControlAdapter)
RenderEndHyperlink(HtmlTextWriter)

応答ストリームに対してハイパーリンクの終了タグをレンダリングします。

RenderPostBackEvent(HtmlTextWriter, String, String, String, String)

ポストバック イベントをハイパーリンクとして応答ストリームにレンダリングします。これには、必要に応じて暗号化されたエンコード済みのビューステート、およびイベントのターゲットと引数も含まれます。

RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String)

ポストバック イベントをハイパーリンクとして応答ストリームにレンダリングします。これには、必要に応じて暗号化されたエンコード済みのビューステート、イベントのターゲットと引数、前回のページのパラメーター、およびアクセス キーも含まれます。

RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String, Boolean)

ポストバック イベントをハイパーリンクとして応答ストリームにレンダリングします。これには、エンコード済みのビューステート、イベントのターゲットと引数、前回のページのパラメーター、およびアクセス キーも含まれます。

SaveAdapterControlState()

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

(継承元 ControlAdapter)
SaveAdapterViewState()

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

(継承元 ControlAdapter)
ToString()

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

(継承元 Object)
TransformText(String)

対象ブラウザー用にテキストを変換します。

適用対象

こちらもご覧ください