Поделиться через


HiddenFieldPageStatePersister Класс

Определение

Сохраняет состояние просмотра страницы 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 в элементе <hidden> HTML с именем "__VIEWSTATE".

<!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 страницы могут хранить Page состояние между http-запросом и ответом без отслеживания состояния, необходимым для обработки и обслуживания любой веб-страницы. Это состояние называется "состояние представления". Механизм по умолчанию, используемый для хранения состояния просмотра страницы и ее элементов управления, находится в одном или нескольких <hidden> HTML-полях, включенных в страницу, которая обслуживается клиентом с веб-сервера. Класс Page может использовать класс для HiddenFieldPageStatePersister выполнения этой работы. HiddenFieldPageStatePersisterреализует методы SavePageStatePersister и Load класса , чтобы Page объект может хранить состояние в элементе <hidden> HTML с именем "__VIEWSTATE" на веб-клиенте. Когда клиент запрашивает ту же страницу с веб-сервера (обратная передача), <hidden> элемент анализируется и преобразуется в сведения о состоянии с помощью ASP.NET.

Если запрошенный Page экземпляр имеет связанный PageAdapter класс, он извлекает PageStatePersister объект из этого адаптера GetStatePersister с помощью метода . Адаптеры могут переопределить GetStatePersister метод для возврата PageStatePersister объекта, который сохраняет состояние страницы и элемента управления, каким-либо образом, поддерживаемым определенным клиентом. Например, SessionPageStatePersister класс хранит состояние страницы и элементов управления на веб-сервере, а не на клиенте, чтобы уменьшить объем данных, которые должны быть отправлены и сохранены на клиенте с потенциально ограниченной памятью и пропускной способностью.

Максимальный размер ЭЛЕМЕНТА HTML "_VIEWSTATE" <hidden> можно задать с помощью MaxPageStateFieldLength свойства или параметра конфигурации MaxPageStateFieldLength . Если это значение задано и длина элемента "_VIEWSTATE" превысит максимальную длину, содержимое делится на несколько элементов "_VIEWSTATE".

Конструкторы

HiddenFieldPageStatePersister(Page)

Инициализирует новый экземпляр класса HiddenFieldPageStatePersister.

Свойства

ControlState

Возвращает или задает объект, представляющий данные, которые элементы управления, содержащиеся в текущем объекте Page, используют для сохранения в HTTP-запросах к веб-серверу.

(Унаследовано от PageStatePersister)
Page

Возвращает или задает объект Page, для которого создается механизм сохранения состояния представления.

(Унаследовано от PageStatePersister)
StateFormatter

Возвращает объект IStateFormatter, используемый для сериализации и десериализации данных о состоянии, содержащихся в свойствах ViewState и ControlState во время вызова методов Save() и Load().

(Унаследовано от PageStatePersister)
ViewState

Возвращает или задает объект, представляющий данные, которые элементы управления, содержащиеся в текущем объекте Page, используют для сохранения в HTTP-запросах к веб-серверу.

(Унаследовано от PageStatePersister)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Load()

Выполняет десериализацию и загружает сведения о сохраненном состоянии из объекта HttpRequest при инициализации объектом Page собственной иерархии элементов управления.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Save()

Выполняет сериализацию любого объекта состояния, содержащегося в свойстве ViewState или ControlState, и записывает состояние в поток ответа.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел