viewstate,viewstate解析

http://www.itjxue.com  2023-01-21 19:39  来源:未知  点击次数: 

如何关闭viewstate

禁用 ViewState

可以针对单个控件、整个页面或整个应用程序禁用 ViewState,如下所示:

每个控件(在标记上):控件属性里面设置viewstate的值为false.

asp:datagrid EnableViewState="false" ?/

在设计页面,手动点击一下Repeater区域,然后在属性列表框中设置EnableViewState="false"

每个页面(在指令中):在页面的page指令中设置页面的enableViewState属性为false

%@ Page EnableViewState="False" ?%

每个应用程序:(在 web.config 中) Pages EnableViewState="false" ?/

关闭: enableviewstate="false"

%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" enableviewstate="false" %

打开: enableviewstate="true"

%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" enableviewstate="true" %

viewstate 是什么意思?

session知道吧?

viewstate和session的用途一样.只是session的生命周期是整个会话.而viewstate的生命周期则是该页面结束之前.

也就是说你可以保存任意一个对象在viewstate中.然后在该页面的任何地方都可以直接从viewstate中拿出存好的值.

如:

page_load中声明:ViewState["test"]="abc";

某按扭中:ViewState["test"]=ViewState["test"].ToString()+"def";

然后在其它地方直接写:string str=ViewState["test"].ToString();此时可得str的值为"abcdef".

ViewState是什么

顾名思意(视图状态),是一个页面级的变量,也就是如果你定义了

ViewState["username"]="admin";

那么你在该页面可以访问这个变量,在别的页面是访问不到的。

viewstate是什么

就在当前页面中保存数据的.

像session.是会话级别的.只要会话没有过期.session中存的数据就在.

viewstate是页面级别的.只要这个页面在.viewstate中存的数据就在.

就是说viewstate中存的数据只能在声明该变量的页面中使用.

比如在某页的page_load中声明了:ViewState["test"]="fdasfdsa";

那么在该页中的任何一个方法中都可以使用ViewState["test"]来直接得到值"fdsafdsa".

(责任编辑:IT教学网)

更多

推荐安全产品文章