Substitution クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
キャッシュから除外される出力キャッシュ Web ページ上のセクションを指定します。 この領域では、動的コンテンツが取得され、Substitution コントロールの代わりに配置されます。
public ref class Substitution : System::Web::UI::Control
public class Substitution : System.Web.UI.Control
type Substitution = class
inherit Control
Public Class Substitution
Inherits Control
- 継承
例
次のコード例では、出力キャッシュ Web ページにコントロールを宣言的に追加 Substitution する方法を示します。 ページが読み込まれると、現在の日付と時刻がラベルでユーザーに表示されます。 ページのこのセクションはキャッシュされ、60 秒ごとにのみ更新されます。 コントロールを Substitution 実行すると、 メソッドが呼び出されます GetCurrentDateTime
。 によって GetCurrentDateTime
返される文字列がユーザーに表示されます。 ページのこのセクションはキャッシュされず、ページが更新されるたびに更新されます。
<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="C#">
void Page_Load(object sender, System.EventArgs e)
{
// Display the current date and time in the label.
// Output caching applies to this section of the page.
CachedDateLabel.Text = DateTime.Now.ToString();
}
// The Substitution control calls this method to retrieve
// the current date and time. This section of the page
// is exempt from output caching.
public static string GetCurrentDateTime (HttpContext context)
{
return DateTime.Now.ToString ();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Substitution Class Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Substitution Class Example</h3>
<p>This section of the page is not cached:</p>
<asp:substitution id="Substitution1"
methodname="GetCurrentDateTime"
runat="Server">
</asp:substitution>
<br />
<p>This section of the page is cached:</p>
<asp:label id="CachedDateLabel"
runat="Server">
</asp:label>
<br /><br />
<asp:button id="RefreshButton"
text="Refresh Page"
runat="Server">
</asp:button>
</form>
</body>
</html>
<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="VB">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Display the current date and time in the label.
' Output caching applies to this section of the page.
CachedDateLabel.Text = DateTime.Now.ToString()
End Sub
' The Substitution control calls this method to retrieve
' the current date and time. This section of the page
' is exempt from output caching.
Shared Function GetCurrentDateTime(ByVal context As HttpContext) As String
Return DateTime.Now.ToString()
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Substitution Class Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>Substitution Class Example</h3>
<p>This section of the page is not cached:</p>
<asp:substitution id="Substitution1"
methodname="GetCurrentDateTime"
runat="Server">
</asp:substitution>
<br />
<p>This section of the page is cached:</p>
<asp:label id="CachedDateLabel"
runat="Server">
</asp:label>
<br /><br />
<asp:button id="RefreshButton"
text="Refresh Page"
runat="Server">
</asp:button>
</form>
</body>
</html>
注釈
このトピックの内容:
はじめに
コントロールを Substitution 使用して、動的コンテンツをコントロールに置き換える出力キャッシュ Web ページ上のセクションを指定します。 コントロールは Substitution 、コンテンツの大部分がキャッシュされているページの部分的なページ キャッシュに対する簡略化されたソリューションを提供します。 ページ全体を出力キャッシュしてから、コントロールを使用 Substitution して、キャッシュから除外されるページの部分を指定できます。 キャッシュされたリージョンは 1 回だけ実行され、キャッシュ エントリの有効期限が切れるか消去されるまでキャッシュから再生されます。 動的領域は、ページが要求されるたびに実行されます。 このキャッシュ モデルでは、Web ユーザー コントロールにキャッシュするセクションをカプセル化する必要がないため、主に静的なページのコードが簡略化されます。 たとえば、このキャッシュ モデルは、ニュース 記事などの静的コンテンツを含むページと AdRotator 、広告を表示するコントロールがあるシナリオで役立ちます。 ニュース記事は変更されません。つまり、キャッシュできます。 ただし、ユーザーがページを要求するたびに、新しい広告を表示する必要があります。 コントロールは AdRotator キャッシュ後の置換を直接サポートし、ページがキャッシュされているかどうかに関係なく、ページがポストバックされるたびに新しいアドバタイズをレンダリングします。
注意
キャッシュされたページに Substitution 含まれるユーザー コントロールにコントロールを配置できます。 ただし、出力キャッシュされたユーザー コントロールにコントロールを配置 Substitution することはできません。
コントロールを Substitution 実行すると、文字列を返すメソッドが呼び出されます。 メソッドが返す文字列は、コントロールの場所にあるページに表示する Substitution コンテンツです。 コントロールの MethodName 実行時に呼び出すコールバック メソッドの名前を指定するには、 プロパティを Substitution 使用します。 指定するコールバック メソッドは、コントロールを含む Substitution ページ コントロールまたはユーザー コントロールの静的メソッドである必要があります。 コールバック メソッドのシグネチャは、 パラメーターを受け取りHttpContext、文字列をHttpResponseSubstitutionCallback返すデリゲートのシグネチャと一致する必要があります。
ページの出力キャッシュを操作するには、 @ OutputCache ディレクティブ、クラス、 HttpCachePolicy または プロパティを Cache 使用できます。 ページのキャッシュの詳細については、「 ASP.NET ページのキャッシュ 」および「 ASP.NET ページのキャッシュ部分」を参照してください。
コントロールを使用する代わりに、デリゲートを Substitution 使用して置換キャッシュ動作を HttpResponseSubstitutionCallback 取得することもできます。 さらに、この機能を直接サポートするコントロール (コントロールなど AdRotator ) に対する置換キャッシュ動作を取得できます。 詳細については、「 キャッシュされたページの一部を動的に更新する」を参照してください。
宣言構文
<asp:Substitution
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
MethodName="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
Visible="True|False"
/>
コンストラクター
Substitution() |
Substitution クラスの新しいインスタンスを初期化します。 |
プロパティ
Adapter |
コントロール用のブラウザー固有のアダプターを取得します。 (継承元 Control) |
AppRelativeTemplateSourceDirectory |
このコントロールが含まれている Page オブジェクトまたは UserControl オブジェクトのアプリケーション相対の仮想ディレクトリを取得または設定します。 (継承元 Control) |
BindingContainer |
このコントロールのデータ バインディングを格納しているコントロールを取得します。 (継承元 Control) |
ChildControlsCreated |
サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。 (継承元 Control) |
ClientID |
ASP.NET によって生成される HTML マークアップのコントロール ID を取得します。 (継承元 Control) |
ClientIDMode |
ClientID プロパティの値を生成するために使用されるアルゴリズムを取得または設定します。 (継承元 Control) |
ClientIDSeparator |
ClientID プロパティで使用される区切り記号を表す文字値を取得します。 (継承元 Control) |
Context |
現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。 (継承元 Control) |
Controls |
UI 階層内の指定されたサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。 (継承元 Control) |
DataItemContainer |
名前付けコンテナーが IDataItemContainer を実装している場合、名前付けコンテナーへの参照を取得します。 (継承元 Control) |
DataKeysContainer |
名前付けコンテナーが IDataKeysControl を実装している場合、名前付けコンテナーへの参照を取得します。 (継承元 Control) |
DesignMode |
コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。 (継承元 Control) |
EnableTheming |
テーマがこのコントロールに適用されるかどうかを示す値を取得または設定します。 (継承元 Control) |
EnableViewState |
要求元クライアントに対して、サーバー コントロールがそのビュー状態と、そこに含まれる任意の子のコントロールのビュー状態を保持するかどうかを示す値を取得または設定します。 (継承元 Control) |
Events |
コントロールのイベント ハンドラー デリゲートのリストを取得します。 このプロパティは読み取り専用です。 (継承元 Control) |
HasChildViewState |
現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。 (継承元 Control) |
ID |
サーバー コントロールに割り当てられたプログラム ID を取得または設定します。 (継承元 Control) |
IdSeparator |
コントロール ID を区別するために使用する文字を取得します。 (継承元 Control) |
IsChildControlStateCleared |
このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。 (継承元 Control) |
IsTrackingViewState |
サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。 (継承元 Control) |
IsViewStateEnabled |
このコントロールでビューステートが有効かどうかを示す値を取得します。 (継承元 Control) |
LoadViewStateByID |
コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 (継承元 Control) |
MethodName |
Substitution コントロールの実行時に呼び出すコールバック メソッドの名前を取得または設定します。 |
NamingContainer |
同じ ID プロパティ値を持つ複数のサーバー コントロールを区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナーへの参照を取得します。 (継承元 Control) |
Page |
サーバー コントロールを含んでいる Page インスタンスへの参照を取得します。 (継承元 Control) |
Parent |
ページ コントロールの階層構造における、サーバー コントロールの親コントロールへの参照を取得します。 (継承元 Control) |
RenderingCompatibility |
レンダリングされる HTML と互換性がある ASP.NET のバージョンを表す値を取得します。 (継承元 Control) |
Site |
デザイン サーフェイスに現在のコントロールを表示するときに、このコントロールをホストするコンテナーに関する情報を取得します。 (継承元 Control) |
SkinID |
コントロールに適用するスキンを取得または設定します。 (継承元 Control) |
TemplateControl |
このコントロールを格納しているテンプレートへの参照を取得または設定します。 (継承元 Control) |
TemplateSourceDirectory |
現在のサーバー コントロールを格納している Page または UserControl の仮想ディレクトリを取得します。 (継承元 Control) |
UniqueID |
階層構造で修飾されたサーバー コントロールの一意の ID を取得します。 (継承元 Control) |
ValidateRequestMode |
ブラウザーからのクライアント入力の安全性をコントロールで調べるかどうかを示す値を取得または設定します。 (継承元 Control) |
ViewState |
同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。 (継承元 Control) |
ViewStateIgnoresCase |
StateBag オブジェクトが大文字小文字を区別しないかどうかを示す値を取得します。 (継承元 Control) |
ViewStateMode |
このコントロールのビューステート モードを取得または設定します。 (継承元 Control) |
Visible |
サーバー コントロールがページ上の UI としてレンダリングされているかどうかを示す値を取得または設定します。 (継承元 Control) |
メソッド
AddedControl(Control, Int32) |
子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 (継承元 Control) |
AddParsedSubObject(Object) |
XML または HTML のいずれかの要素が解析されたことをサーバー コントロールに通知し、サーバー コントロールの ControlCollection オブジェクトに要素を追加します。 (継承元 Control) |
ApplyStyleSheetSkin(Page) |
ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 (継承元 Control) |
BeginRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時のトレースを開始します。 (継承元 Control) |
BuildProfileTree(String, Boolean) |
ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 (継承元 Control) |
ClearCachedClientID() |
キャッシュされた ClientID 値を |
ClearChildControlState() |
サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 (継承元 Control) |
ClearChildState() |
サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 (継承元 Control) |
ClearChildViewState() |
サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 (継承元 Control) |
ClearEffectiveClientIDMode() |
現在のコントロール インスタンスおよびすべての子コントロールの ClientIDMode プロパティを Inherit に設定します。 (継承元 Control) |
CreateChildControls() |
ASP.NET ページ フレームワークによって呼び出され、ポストバックまたはレンダリングの準備として、合成ベースの実装を使うサーバー コントロールに対し、それらのコントロールに含まれる子コントロールを作成するように通知します。 (継承元 Control) |
CreateControlCollection() |
EmptyControlCollection コントロールが子コントロールをサポートしないことを示す Substitution オブジェクトを返します。 |
DataBind() |
呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 (継承元 Control) |
DataBind(Boolean) |
DataBinding イベントを発生させるオプションを指定して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 (継承元 Control) |
DataBindChildren() |
データ ソースをサーバー コントロールの子コントロールにバインドします。 (継承元 Control) |
Dispose() |
サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 (継承元 Control) |
EndRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時のトレースを終了します。 (継承元 Control) |
EnsureChildControls() |
サーバー コントロールに子コントロールが含まれているかどうかを確認します。 含まれていない場合、子コントロールを作成します。 (継承元 Control) |
EnsureID() |
ID が割り当てられていないコントロールの ID を作成します。 (継承元 Control) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FindControl(String) |
指定した |
FindControl(String, Int32) |
指定した |
Focus() |
コントロールに入力フォーカスを設定します。 (継承元 Control) |
GetDesignModeState() |
コントロールのデザイン時データを取得します。 (継承元 Control) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetRouteUrl(Object) |
ルート パラメーターのセットに対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(RouteValueDictionary) |
ルート パラメーターのセットに対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(String, Object) |
ルート パラメーターのセットおよびルート名に対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(String, RouteValueDictionary) |
ルート パラメーターのセットおよびルート名に対応する URL を取得します。 (継承元 Control) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetUniqueIDRelativeTo(Control) |
指定されたコントロールの UniqueID プロパティのプレフィックス部分を返します。 (継承元 Control) |
HasControls() |
サーバー コントロールに子コントロールが含まれているかどうかを確認します。 (継承元 Control) |
HasEvents() |
コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 (継承元 Control) |
IsLiteralContent() |
サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 (継承元 Control) |
LoadControlState(Object) |
SaveControlState() メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 (継承元 Control) |
LoadViewState(Object) |
SaveViewState() メソッドによって保存された前回のページ要求からビューステート情報を復元します。 (継承元 Control) |
MapPathSecure(String) |
仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 (継承元 Control) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnBubbleEvent(Object, EventArgs) |
サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 (継承元 Control) |
OnDataBinding(EventArgs) |
DataBinding イベントを発生させます。 (継承元 Control) |
OnInit(EventArgs) |
Init イベントを発生させます。 (継承元 Control) |
OnLoad(EventArgs) |
Load イベントを発生させます。 (継承元 Control) |
OnPreRender(EventArgs) |
PreRender イベントを発生させます。 |
OnUnload(EventArgs) |
Unload イベントを発生させます。 (継承元 Control) |
OpenFile(String) |
ファイルの読み込みで使用される Stream を取得します。 (継承元 Control) |
RaiseBubbleEvent(Object, EventArgs) |
イベントのソースおよびその情報をコントロールの親に割り当てます。 (継承元 Control) |
RemovedControl(Control) |
Control オブジェクトの Controls コレクションから子コントロールが削除された後に呼び出されます。 (継承元 Control) |
Render(HtmlTextWriter) |
提供されたクライアントに表示される内容を書き込む HtmlTextWriter オブジェクトに、サーバー コントロールの内容を送信します。 |
RenderChildren(HtmlTextWriter) |
提供された HtmlTextWriter オブジェクトに対してサーバー コントロールの子のコンテンツを出力すると、クライアントで表示されるコンテンツが記述されます。 (継承元 Control) |
RenderControl(HtmlTextWriter) |
指定の HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を保存します。 (継承元 Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
指定した ControlAdapter オブジェクトを使用して、指定した HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力します。 (継承元 Control) |
ResolveAdapter() |
指定したコントロールを表示するコントロール アダプターを取得します。 (継承元 Control) |
ResolveClientUrl(String) |
ブラウザーで使用できる URL を取得します。 (継承元 Control) |
ResolveUrl(String) |
要求側クライアントで使用できる URL に変換します。 (継承元 Control) |
SaveControlState() |
ページがサーバーにポスト バックされた時間以降に発生したすべてのサーバー コントロール状態の変化を保存します。 (継承元 Control) |
SaveViewState() |
ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールのビューステートの変更を保存します。 (継承元 Control) |
SetDesignModeState(IDictionary) |
コントロールのデザイン時データを設定します。 (継承元 Control) |
SetRenderMethodDelegate(RenderMethod) |
サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラー デリゲートを割り当てます。 (継承元 Control) |
SetTraceData(Object, Object) |
トレース データ キーとトレース データ値を使用して、レンダリング データのデザイン時トレースのトレース データを設定します。 (継承元 Control) |
SetTraceData(Object, Object, Object) |
トレースされたオブジェクト、トレース データ キー、およびトレース データ値を使用して、レンダリング データのデザイン時トレースのトレース データを設定します。 (継承元 Control) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
TrackViewState() |
サーバー コントロールにビューステートの変更を追跡させ、サーバー コントロールの StateBag オブジェクトに変更を格納できるようにします。 このオブジェクトは、ViewState プロパティによってアクセスできます。 (継承元 Control) |
イベント
DataBinding |
サーバー コントロールがデータ ソースに連結すると発生します。 (継承元 Control) |
Disposed |
サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 (継承元 Control) |
Init |
サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 (継承元 Control) |
Load |
サーバー コントロールが Page オブジェクトに読み込まれると発生します。 (継承元 Control) |
PreRender |
Control オブジェクトの読み込み後、表示を開始する前に発生します。 (継承元 Control) |
Unload |
サーバー コントロールがメモリからアンロードされると発生します。 (継承元 Control) |
明示的なインターフェイスの実装
IControlBuilderAccessor.ControlBuilder |
このメンバーの詳細については、「ControlBuilder」をご覧ください。 (継承元 Control) |
IControlDesignerAccessor.GetDesignModeState() |
このメンバーの詳細については、「GetDesignModeState()」をご覧ください。 (継承元 Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
このメンバーの詳細については、「SetDesignModeState(IDictionary)」をご覧ください。 (継承元 Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
このメンバーの詳細については、「SetOwnerControl(Control)」をご覧ください。 (継承元 Control) |
IControlDesignerAccessor.UserData |
このメンバーの詳細については、「UserData」をご覧ください。 (継承元 Control) |
IDataBindingsAccessor.DataBindings |
このメンバーの詳細については、「DataBindings」をご覧ください。 (継承元 Control) |
IDataBindingsAccessor.HasDataBindings |
このメンバーの詳細については、「HasDataBindings」をご覧ください。 (継承元 Control) |
IExpressionsAccessor.Expressions |
このメンバーの詳細については、「Expressions」をご覧ください。 (継承元 Control) |
IExpressionsAccessor.HasExpressions |
このメンバーの詳細については、「HasExpressions」をご覧ください。 (継承元 Control) |
IParserAccessor.AddParsedSubObject(Object) |
このメンバーの詳細については、「AddParsedSubObject(Object)」をご覧ください。 (継承元 Control) |
拡張メソッド
FindDataSourceControl(Control) |
指定されたコントロールのデータ コントロールに関連付けられているデータ ソースを返します。 |
FindFieldTemplate(Control, String) |
指定されたコントロールの名前付けコンテナー内にある、指定された列のフィールド テンプレートを返します。 |
FindMetaTable(Control) |
格納しているデータ コントロールのメタテーブル オブジェクトを返します。 |
適用対象
こちらもご覧ください
.NET