HiddenFieldPageStatePersister 類別

定義

將 ASP.NET 網頁檢視狀態儲存在 Web 用戶端上的隱藏 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<hidden> 名為 「__VIEWSTATE」 的 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 要求與處理及處理任何網頁所需的回應之間儲存 Page 狀態。 此狀態稱為「檢視狀態」。 用來儲存頁面檢視狀態的預設機制,其控制項位於網頁中提供給網頁伺服器的一或多個 <hidden> HTML 欄位。 類別 Page 可以使用 HiddenFieldPageStatePersister 類別來執行這項工作。 HiddenFieldPageStatePersisterSave 實作 類別的 PageStatePersisterLoad 方法,以便 Page 將狀態儲存在 <hidden> Web 用戶端上名為 「__VIEWSTATE」 的 HTML 元素中。 當用戶端從 Web 服務器要求相同的頁面 (回傳) 時,元素 <hidden> 會透過 ASP.NET 剖析並轉換成狀態資訊。

Page如果要求的實例具有相關聯的 PageAdapter 類別,它會使用 GetStatePersister 方法從這個配接器擷取 PageStatePersister 物件。 配接器可以覆寫 GetStatePersister 方法,以某種方式傳回 PageStatePersister 物件,以特定用戶端所支援的方式儲存頁面和控制狀態。 例如,類別 SessionPageStatePersister 會將頁面和控制項的狀態儲存在網頁伺服器上,而不是用戶端,以減少必須傳送並儲存在可能有限記憶體和頻寬的用戶端上的資訊量。

可以透過 MaxPageStateFieldLength 屬性或 MaxPageStateFieldLength 組態設定來設定 「_VIEWSTATE」 <hidden> HTML 元素的大小上限。 設定這個值且 「_VIEWSTATE」 元素的長度會超過最大長度時,內容會分成多個 「_VIEWSTATE」 元素。

建構函式

HiddenFieldPageStatePersister(Page)

初始化 HiddenFieldPageStatePersister 類別的新執行個體。

屬性

ControlState

取得或設定物件,表示對 Web 伺服器的 HTTP 要求之間,目前 Page 物件所包含的控制項用以保存的資料。

(繼承來源 PageStatePersister)
Page

取得或設定 Page 物件,以建立檢視狀態保存性機制。

(繼承來源 PageStatePersister)
StateFormatter

取得 IStateFormatter 物件,對 ViewStateControlState 方法呼叫時,這個物件會用來序列化和還原序列化 Save()Load() 屬性中包含的狀態資訊。

(繼承來源 PageStatePersister)
ViewState

取得或設定物件,表示對 Web 伺服器的 HTTP 要求之間,目前 Page 物件所包含的控制項用以保存的資料。

(繼承來源 PageStatePersister)

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
Load()

HttpRequest 物件初始化其控制項階層架構時,便會從 Page 物件還原序列化並載入保存的狀態資訊。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Save()

序列化 ViewStateControlState 屬性中包含的任何物件狀態,並將狀態寫入回應資料流。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱