日期:2014-05-18  浏览次数:20414 次

哪位好心的能给我讲讲viewstate??
viewstate     获取状态信息的字典,能够在同一页面的多个请求间保存和还原服务器控件的视图状态??什么意思啊,最好能举个简单的例子!谢谢啊!真是好人啊!!!!

------解决方案--------------------
http://www.cnblogs.com/cathsfz/archive/2006/10/22/536428.html
------解决方案--------------------
保存状态嘛
------解决方案--------------------
怎么说呢!~
是这样的.
default.aspx 在这个页面中你定义一个viewstate
在这个页面中,回发状态下这个值会保存的.(单页面,单用户的,)

比如你点击一个button ,这个viewstate 是不会消失的.

------解决方案--------------------
当一个页面跳到此页面时,它就会记录跳到这个页面的URL,然后利用这个URL返回 

protected void Page_Load(object sender, EventArgs e)
{
ViewState[ "UrlReferrer "] = Request.UrlReferrer.ToString();

HyperLink1.NavigateUrl = (string)ViewState[ "UrlReferrer "];
Response.Write((string)ViewState[ "UrlReferrer "]);
}

给你贴代码 !!!
------解决方案--------------------
就是保存页面的信息
在页面关闭的时候才没
你可以在页面查看源码,就能看到viewstate。后面的几行就是页面的一些信息。

能够在同一页面的多个请求间保存和还原服务器控件的视图状态。
比如 你页面有很多textbox 你填写了很多数据 当你点击确定 或者 刷新页面的时候
为什么数据还是存在?不消失 因为viewstate保存了这些信息,在页面可以设置viewstate为false
就不会保存了
个人这样理解的

------解决方案--------------------
viewstate就是视图状态,如果你启用它的话,那么很多服务器控件的内容在页面回传后仍然存在,
例如你的页面里面的dataList控件,第一次加载的时候绑定的数据,当点击页面的提交按钮时,页面会回传,如果你的dataList控件的绑定事件只在页面第一次加载 的时候执行,那么默认情况下,页面会启用视图,这样之前dataList里面的内容仍然会存在,如果没有启用,那么内容就会消失.
------解决方案--------------------
应该说是只在一个页面中保存状态,到别的页就不中了。
ViewState[ "a "]=1;
然后在这个页面的任何一个位置都可以用ViewState[ "a "]了。
------解决方案--------------------
viewstate视图状态(和sessionstate(会话状态)applicationstate(应用程序状态)并称3大状态)两种用法(1)保有页面级别控件的值,启用Enableviewstate,会在一个hidden控件里保有页面上控件的状态。(提交时发到服务器,刷新页面时在发回来)(2)ViewState[ "a "]=1,页面级的“全局变量”。
------解决方案--------------------
当前页面有效的一个变量

------解决方案--------------------
使用viewstate之前最好能够判断一下是否为空,像这样if (ViewState[ "Num "] != null),因为有时候viewstate也会丢失值!!