HiddenFieldPageStatePersister 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 Web 客户端上以隐藏的 HTML 元素存储 ASP.NET 页面视图状态。
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
- 继承
示例
下面的代码示例演示如何使用 SqlDataSource 控件ListBox将 控件绑定到数据库中的数据。
<%@ 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”的 HTML 元素中 <hidden>
。
<!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 请求与处理和提供任何网页所需的响应之间的状态。 此状态称为“视图状态”。 用于存储页面及其控件的视图状态的默认机制位于从 Web 服务器提供给客户端的页面中包含的一个或多个 <hidden>
HTML 字段中。 类 Page 可以使用 HiddenFieldPageStatePersister 类来执行此工作。
HiddenFieldPageStatePersister
Save实现 类的 PageStatePersister 和 Load 方法,Page以便 可以将状态<hidden>
存储在 Web 客户端上名为“__VIEWSTATE”的 HTML 元素中。 当客户端从 Web 服务器请求同一页 (回发) 时, <hidden>
将分析元素并通过 ASP.NET 转换为状态信息。
如果请求的Page实例具有关联的PageAdapter类,则它使用 GetStatePersister 方法从此适配器检索PageStatePersister对象。 适配器可以重写 方法, GetStatePersister 以返回对象 PageStatePersister ,该对象以特定客户端支持的方式存储页和控件状态。 例如, SessionPageStatePersister 类将页面和控件的状态存储在 Web 服务器上而不是客户端上,以减少必须在内存和带宽可能受限的客户端上发送和存储的信息量。
可以通过 属性或MaxPageStateFieldLength配置设置MaxPageStateFieldLength设置“_VIEWSTATE” <hidden>
HTML 元素的最大大小。 如果设置了此值,并且“_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() |
当 Page 对象初始化其控件层次结构时,反序列化并加载 HttpRequest 对象中的持久化状态信息。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Save() |
序列化 ViewState 或 ControlState 属性中包含的任何对象状态,并将状态写入响应流中。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |