Re: ViewState是什么东东?

ASP.NET

ViewState是什么东东?


mayazeng 2006-04-10, 13:48 下午

我来讯飞的时候,被问了这样一道题,现在还不会,请指教啊.

问题:请回答viewstate是什么?和session有什么区别?

我原来的时候只用过session,我仅是把session当作全局变量来使用.比如有有好几个页面都用到了某个数据,就把它放到session里面,

另外我还知道<input type="hidden" />能存储页面上看不到的信息.

所以我的问题是:什么是viewstate,拜托讲通俗点.要不听不懂.和session,<input type="hidden" />有什么区别?

Re: ViewState是什么东东?


魏东 2006-04-10, 14:19 下午
session viewstate
占用服务器资源 true false
time out true false
存储任何.net类型 true false(只支持strings, integers, Booleans, arrays, ArrayList, hashtable, custom TypeConverters)
加重html负载 false true


session 对整个 application 有效 ,而 viewstate相当于某个页面的 session


定义 viewstate

// save in ViewState
ViewState["SortOrder"] = "DESC";

// read from ViewState
string sortOrder = (string)ViewState["SortOrder"];

首先申明,我不懂技术的,只是帮你找了一下。
这里有一篇文章
http://community.hf-mstc.org/cs/blogs/shakewang/archive/2005/08/14/934.aspx

Re: ViewState是什么东东?


dcding 2006-04-12, 15:10 下午
个人经验:在问问题前先去找找帮助,自己想一想,如果没有找到再问人,那个收获就完全不一样了。

Re: ViewState是什么东东?


alanlin 2006-05-16, 15:35 下午
首先我研究asp.net时日还不多,斗胆解释一下。ViewState 从页面上看,是一个隐藏的input域,它保存了web页中的一些状态信息。
我们知道,一个web页当被发回到服务器时就被销毁,所以如果想要保存一些页面级别的变量信息就比较困难。现在,可以用ViewState保存这些信息,当页面在服务器端被销毁前,.net记录下ViewState中的值,而当新的页面重新发回到客户端时,ViewState中的值被带回,这样保证了ViewState中的值不随页面销毁而变化。
一个例子:想每按一次按钮,textbox里的数字自动加1。可以每次把textbox里的数值保存到ViewState里,然后每次page_load时把ViewState里的值加1,填入textbox里即可

Powered by Community Server Powered by CnForums.Net