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
- Наследование
Примеры
В следующем примере кода показано, как привязать 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) |