![]() |
itviewstate session cookie
viewstate
viewstate的值保存在浏览器的html代码中 , 当浏览器关闭 , 则值消失 , 即viewstate是在本页面之内各函数间进行传值的 , 至于为什么要使用这种方法 , 因为在一个事件发生之后 , 页面可能会刷新 , 如果定义全局变量会被清零 , 所以要使用 viewstate.
session
Session采用键值对 , 也就是说ID存放客户端 , 而值放在服务器端 , 是通过用户的ID去找服务器上对应的值 , 这种方式值放置在服务器端 ,有个时间限制 ,时间到则服务器自动释放.cookie
Cookies则有两种方法 , 一种方法是把值保存在浏览器的变量中 , 当浏览器关闭时结束 , 另一种方法是保存在硬盘中 , 只要时间不过期 , 下次还可使用.
类型
值保存在哪
值的有效范围
备注
View State
客户端
不能跨页面传递,只能在当前页面保存数据。
在HTML中可以看到ViewState值,不过是加密。不是明文。 ViewState是保存页面数据的默认方法。
客户端将页面submit给服务器是,ViewState中就保存着各个控件的数据、和页面的其他数据。
经过设置,可以禁用ViewState。Control State
客户端
同ViewState
与 View State区别:Viewstate可以经过设置禁用。假如你自定义一个控件,如果将值保存在ViewState的话,在禁用Viewstate时,服务器可能无法获取控件数据,这时候你需要将控件数据保存在Control State中。
Hidden Fields
客户端
同ViewState
Hidden Fields就是保存数据,但是浏览器不会将它呈现和渲染。但是可以从HTML源码中直接看到对应的值,而且还是明文的,用户当然也就可以修改Hidden Fields值。
Cookie
客户端
可以跨页面
保存在客户端的文本文件中,或者是内存中。
可以指定Cookie的有效期。Query Strings
客户端
同 ViewState
Query Strings很简单理解,它就保存在URL中的字段。
Session State
服务器
一次Session有效,可以跨页面。
最典型的应用:保存登录账户信息。
Applicant State
服务器
Websites运行阶段
IIS或者Websites重启后Applicant State级无效。
Profile Properties
服务器
可以永久保存
ASP.NET可以通过 Profiles Properties保存指定用户的信息,通过SqlProfileProvider可以将数据保存到SQL DB中,也就是说你可以将Profile Properties永久保存。