次の方法で共有


HiddenFieldPageStatePersister クラス

定義

Web クライアント上の ASP.NET ページのビューステートを非表示の HTML 要素に格納します。

public ref class HiddenFieldPageStatePersister : System::Web::UI::PageStatePersister
public class HiddenFieldPageStatePersister : System.Web.UI.PageStatePersister
type HiddenFieldPageStatePersister = class
    inherit PageStatePersister
Public Class HiddenFieldPageStatePersister
Inherits PageStatePersister
継承
HiddenFieldPageStatePersister

次のコード例では、コントロールを使用してデータベース内の ListBox データにコントロールをバインドする方法を SqlDataSource 示します。

<%@ 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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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="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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>

サンプル ページを表示すると、すべてのビューステートがクラスによって HiddenFieldPageStatePersister "__VIEWSTATE" という名前の <hidden> HTML 要素に格納されます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
  <BODY>  
    <form name="_ctl0" method="post" action="sample.aspx" id="_ctl0">  

      <input type="hidden" name="__VIEWSTATE" value="MgAwADkANgAwADkAOQA3ADgAMQD/AQ8QBQoxMTU2NDc1NjE0EGRkFgICAQ9kFgICAw8PZBAVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gUKgMNZ2dnZ2dnZ2dnZ2dnZ2RkZPdhi6U7jBPqVZbj0W8AYFSJ6oiq" />  

      <select size="4" name="ListBox1" id="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>  

注釈

ASP.NET ページでは、本質的にステートレスな HTTP 要求と、任意の Web ページの処理と処理に必要な応答の間に状態を格納Pageできます。 この状態は "ビューステート" と呼ばれます。 ページとそのコントロールのビューステートを格納するために使用される既定のメカニズムは、Web サーバーからクライアントに提供されるページに含まれる 1 つ以上 <hidden> の HTML フィールドにあります。 クラスは Page 、クラスを HiddenFieldPageStatePersister 使用してこの作業を行うことができます。 HiddenFieldPageStatePersisterSave Loadは、Web クライアントの "__VIEWSTATE" という名前の PageStatePersister HTML 要素に<hidden>状態を格納できるようにPage、クラスのメソッドを実装します。 クライアントが Web サーバー (ポストバック) から同じページを要求すると、<hidden>要素が解析され、ASP.NET によって状態情報に変換されます。

要求されたインスタンスに Page 関連付けられた PageAdapter クラスがある場合は、メソッドを PageStatePersister 使用してこのアダプターからオブジェクトを GetStatePersister 取得します。 アダプターは、特定のクライアントが GetStatePersister サポートする何らかの方法でページとコントロールの状態を格納するオブジェクトを返す PageStatePersister メソッドをオーバーライドできます。 たとえば、このクラスは、 SessionPageStatePersister クライアントではなく Web サーバーにページとコントロールの状態を格納して、メモリと帯域幅が制限される可能性があるクライアントで送信および格納する必要がある情報の量を減らします。

"_VIEWSTATE" <hidden> HTML 要素の最大サイズは、プロパティまたは構成設定をMaxPageStateFieldLength使用してMaxPageStateFieldLength設定できます。 この値が設定され、"_VIEWSTATE" 要素の長さが最大長を超えると、コンテンツは複数の "_VIEWSTATE" 要素に分割されます。

コンストラクター

HiddenFieldPageStatePersister(Page)

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

プロパティ

ControlState

オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。

(継承元 PageStatePersister)
Page

ビューステート永続化機構が作成される対象の Page オブジェクトを取得または設定します。

(継承元 PageStatePersister)
StateFormatter

IStateFormatter メソッドおよび ViewState メッソドへの呼び出しで、ControlState プロパティおよび Save() プロパティに格納されている状態情報のシリアル化と逆シリアル化に使用する Load() オブジェクトを取得します。

(継承元 PageStatePersister)
ViewState

オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。

(継承元 PageStatePersister)

メソッド

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Load()

HttpRequest オブジェクトでそのコントロール階層を初期化する場合、保持されているステータス情報を Page オブジェクトから逆シリアル化して読み込みます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Save()

ViewState プロパティまたは ControlState プロパティに含まれているオブジェクトの状態をシリアル化して、その状態を応答ストリームに書き込みます。

ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください