PageAdapter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定のブラウザーに対応するように 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
- 継承
例
次のコード例は、クラスから名前付きの 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
GET
とPOST
パラメーターを定義します。 これらは、クラスからのキャッシュの初期化中に呼び出されます Page 。このメソッドは GetStatePersister 、ページのビューとコントロールの状態を結合して保持するために使用できるオブジェクトを返します。 派生ページ アダプターが存在する PageStatePersister 場合は、プロパティから参照されます。
このメソッドは GetPostBackFormReference 、スクリプト内のフォームを参照するために使用できる DHTML コード フラグメントを提供します。
ページがポストバックにある場合、このメソッドは DeterminePostBackMode ポストバック変数のコレクションを返します。 派生ページ アダプターが存在する場合は、メソッドのPage.DeterminePostBackMode代わりに.NET Frameworkによって呼び出されます。
メソッド RenderBeginHyperlink は RenderEndHyperlink 、派生ページ アダプターが存在する場合にハイパーリンクをレンダリングするためにコントロール アダプターによって使用されます。
このメソッドは 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) |
|
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) |
対象ブラウザー用にテキストを変換します。 |