ASP.NET 的 ViewState Cookie Session 等的比较

类型

值保存在哪

值的有效范围

备注

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永久保存。


参考:http://msdn.microsoft.com/en-us/library/75x4ha6s.ASPX

博主地址:blog.csdn.net/zhang_hui_cs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值