HiddenFieldPageStatePersister クラス
アセンブリ: System.Web (system.web.dll 内)


ASP.NET ページでは、Web ページの処理および送信に必要な本質的に状態のない HTTP 要求および応答間で Page の状態を格納できます。この状態を "ビューステート" といいます。ページとそのコントロールのビューステートを格納する際に使用される既定の機構は、Web サーバーからクライアントに送信されるページに含まれる 1 つ以上の <hidden> HTML フィールドにあります。Page クラスは、HiddenFieldPageStatePersister クラスを使用して、この作業を実行できます。HiddenFieldPageStatePersister が PageStatePersister クラスの Save メソッドおよび Load メソッドを実装するため、Page は、Web クライアント上の "__VIEWSTATE" という名前の付いた <hidden> HTML 要素に状態を格納できます。クライアントが Web サーバーから同じページを要求すると (ポストバック)、<hidden> 要素は、ASP.NET によって、解析され、ステータス情報に変換されます。
要求される Page インスタンスが、関連付けられた PageAdapter クラスを保持している場合、このインスタンスは、GetStatePersister メソッドを使用して、このアダプタから PageStatePersister オブジェクトを取得します。アダプタは、GetStatePersister メソッドをオーバーライドし、特定のクライアントがサポートする何らかの方法でページとコントロールの状態を格納する PageStatePersister オブジェクトを返すことができます。たとえば、SessionPageStatePersister クラスは、クライアントではなく Web サーバーにページとコントロールの状態を格納し、メモリと帯域幅が制限されている可能性のあるクライアント側で送信および格納する必要がある情報の量を少なくします。
"_VIEWSTATE" <hidden> HTML 要素の最大サイズは、MaxPageStateFieldLength プロパティまたは MaxPageStateFieldLength 構成設定を使用して設定できます。この値が設定され、"_VIEWSTATE" 要素の長さが最大長を超えると、コンテンツが複数の "_VIEWSTATE" 要素に分割されます。

SqlDataSource コントロールを使用して、ListBox コントロールをデータベース内のデータにバインドする方法を次のコード例に示します。
<%@ Page language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT LastName FROM Employees"> </asp:SqlDataSource> <asp:ListBox id="ListBox1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1"> </asp:ListBox> </FORM> </BODY> </HTML>
<%@ Page language="CS" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT LastName FROM Employees"> </asp:SqlDataSource> <asp:ListBox id="ListBox1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1"> </asp:ListBox> </FORM> </BODY> </HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT LastName FROM Employees"> </asp:SqlDataSource> <asp:ListBox id="ListBox1" runat="server" DataTextField="LastName" DataSourceID="SqlDataSource1"> </asp:ListBox> </FORM> </BODY> </HTML>
例のページを表示すると、"__VIEWSTATE" という名前の <hidden> HTML 要素の HiddenFieldPageStatePersister クラスによってビューステートが格納されます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <BODY> <form name="_ctl0" method="post" action="sample.aspx"> <input type="hidden" name="__VIEWSTATE" value="MgAwADkANgAwADkAOQA3ADgAMQD/AQ8QBQoxMTU2NDc1NjE0EGRkFgICAQ9kFgICAw8PZBAVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gUKgMNZ2dnZ2dnZ2dnZ2dnZ2RkZPdhi6U7jBPqVZbj0W8AYFSJ6oiq" /> <select size="4" name="ListBox1"> <option value="Buchanan">Buchanan</option> <option value="Callahan">Callahan</option> <option value="Davolio">Davolio</option> <option value="Dodsworth">Dodsworth</option> <option value="Fuller">Fuller</option> <option value="King">King</option> <option value="Leverling">Leverling</option> <option value="Suyama">Suyama</option> </select> </form> </BODY> </HTML>

System.Web.UI.PageStatePersister
System.Web.UI.HiddenFieldPageStatePersister


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HiddenFieldPageStatePersister コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HiddenFieldPageStatePersister プロパティ

名前 | 説明 | |
---|---|---|
![]() | ControlState | オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。 ( PageStatePersister から継承されます。) |
![]() | ViewState | オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。 ( PageStatePersister から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Page | ビューステート永続化機構が作成される対象の Page オブジェクトを取得または設定します。 ( PageStatePersister から継承されます。) |
![]() | StateFormatter | Save メソッドおよび Load メッソドへの呼び出しで、ViewState プロパティおよび ControlState プロパティに格納されている状態情報のシリアル化と逆シリアル化に使用する IStateFormatter オブジェクトを取得します。 ( PageStatePersister から継承されます。) |

HiddenFieldPageStatePersister メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | Load | オーバーライドされます。 Page オブジェクトでそのコントロール階層を初期化する場合、保持されているステータス情報を HttpRequest オブジェクトから逆シリアル化して読み込みます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Save | オーバーライドされます。 ViewState プロパティまたは ControlState プロパティに含まれているオブジェクトの状態をシリアル化して、その状態を応答ストリームに書き込みます。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

HiddenFieldPageStatePersister メンバ
Web クライアント上の ASP.NET ページのビューステートを非表示の HTML 要素に格納します。
HiddenFieldPageStatePersister データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | ControlState | オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。 (PageStatePersister から継承されます。) |
![]() | ViewState | オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。 (PageStatePersister から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Page | ビューステート永続化機構が作成される対象の Page オブジェクトを取得または設定します。(PageStatePersister から継承されます。) |
![]() | StateFormatter | Save メソッドおよび Load メッソドへの呼び出しで、ViewState プロパティおよび ControlState プロパティに格納されている状態情報のシリアル化と逆シリアル化に使用する IStateFormatter オブジェクトを取得します。(PageStatePersister から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | Load | オーバーライドされます。 Page オブジェクトでそのコントロール階層を初期化する場合、保持されているステータス情報を HttpRequest オブジェクトから逆シリアル化して読み込みます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Save | オーバーライドされます。 ViewState プロパティまたは ControlState プロパティに含まれているオブジェクトの状態をシリアル化して、その状態を応答ストリームに書き込みます。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- HiddenFieldPageStatePersisterのページへのリンク