ASP.NET 的 ViewState Cookie Session 等的比較

类型

值保存在哪

值的有效范围

备注

View State

client

不能跨页面传递。仅仅能在当前页面保存数据。

HTML中能够看到ViewState值,只是是加密。

不是明文。

ViewState是保存页面数据的默认方法。

client将页面submit给server是,ViewState中就保存着各个控件的数据、和页面的其它数据。

经过设置,能够禁用ViewState

Control State

client

同ViewState

View State差别:Viewstate能够经过设置禁用。

假如你自己定义一个控件,假设将值保存在ViewState的话,在禁用Viewstate时。server可能无法获取控件数据,这时候你须要将控件数据保存在Control State中。

Hidden Fields

client

 

同ViewState

Hidden Fields就是保存数据,可是浏览器不会将它呈现和渲染。可是能够从HTML源代码中直接看到相应的值。并且还是明文的,用户当然也就能够改动Hidden Fields值。

Cookie

client

能够跨页面

保存在client的文本文件里。或者是内存中。

能够指定Cookie的有效期。

Query Strings

client

同 ViewState

Query Strings非常easy理解,它就保存在URL中的字段。

Session State

server

一次Session有效。能够跨页面。

最典型的应用:保存登录账户信息。

Applicant State

server

Websites执行阶段

IIS或者Websites重新启动后Applicant State级无效。

Profile Properties

server

 

能够永久保存

ASP.NET能够通过 Profiles Properties保存指定用户的信息。通过SqlProfileProvider能够将数据保存到SQL DB中。也就是说你能够将Profile Properties永久保存。


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

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

原文地址:https://www.cnblogs.com/gcczhongduan/p/5095788.html