asp.net 跨页面传值

===============类 class 是引用类型   


如果将同一类型的第二个对象分配给第一个对象,则两个变量都引用该地址的对象


===============结构 struct 是值类型


结构对象的变量具有整个对象的副本。结构的实例也可以使用 new 运算符来创建,但这不是必需的




class 和 struct 都是一种数据结构,数据结构就是开辟内存块的形式


类的继承,就是对这种数据结构属性和行为的扩充,从而形成新的数据结构




querystring  


1、不能传递对象 只能传递字符串
2、安全性低
3、在传递一些对安全性要求不高的数值,或者一些短小的字符串时,可以考虑使用
4、如果是中文,要考虑存储时编码,读取时反编码,不然乱码
5、利用URL在客户机和服务器间进行数据交换 
6、获取地址栏参数(以GET方式提交的数据)
7、Request.Form 获取以POST方式提交的数据(接收Form提交来的数据)


cookie  


1、保存在客户端浏览器。
2、大小限制2k。
3、IE浏览器的保存位置: <user>@<domain>.txt。
4、获取Cookie值之前,先确保 Cookie 确实存在。否则异常
5、可以设置超时日期。
6、删除cookie设置日期为负。
7、Cookies最典型的应用是判定注册用户是否已经登录网站。
8、另一个重要应用场合是“购物车”之类处理。
9、Cookie可以保持登录信息到用户下次与服务器的会话。
10、浏览器可以设置禁止cookie,每个站点保存的cookie数量也有限制,一般20个。
10、原理:服务器发送一小段文本信息保存在客户端硬盘的某个位置,供服务器下次读取获取上次登录时间等等用户信息,并作出回应


session 会话  


1、作用域是和每个用户联系  每个客户端的Seesion是独立存储的
2、占用服务器内存
3、他能储存任何数据类型,包含自定义对象
4、当会话终止,或过期时,服务器就清除Session对象
5、Session保存的数据是跨页面全局型的。
6、Session常用于保存登录用户的ID.
7、Session池中的数据不能跨进程访问.
8、默认销毁时间20min,也可以自己设定时间.
9、原理:服务器端session池、分配session_id确定是哪一个用户、SessionID以cookie的方式保存的在客户端内存


application    


1、一般用于访问计数器  修改Application的时候需要先锁定Application,修改完成后再解锁
2、存储的物理位置。服务器内存。
3、存储的类型限制。任意类型。
4、状态使用的范围。整个应用程序。
5、存储的大小限制。任意大小。
6、生命周期。应用程序开始的时候创建(准确来说是用户第一次请求某URL的时候创建),应用程序结束的时候销毁。
7、安全与性能。数据总是存储在服务端,安全性比较高,但不易存储过多数据。
8、优缺点与注意事项。检索数据速度快,但缺乏自我管理机制,数据不会自动释放。






Response.Redirect和Server.Transfer区别
请求的过程: 
1)浏览器aspx文件请求--->服务器执行--->遇到Response.Redirect语句->服务器发送Response.Redirect后面的地址给客户机端的浏览器--->浏览器请求执行新的地址 
2)浏览器aspx文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件 
可以见Server.Transfer比Response.Redirect少了一次服务器发送回来和客户端再请求的过程. 
跳转对象: 
1)Response.Redirect可以切换到任何存在的网页。 
2)Server.Transfer只能切换到同目录或者子目录的网页. 
数据保密: 
1、Response.Redirect后地址会变成跳转后的页面地址。 
2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。 
传递的数据量(网址后附带的参数): 
1、Response.Redirect能够传递的数据以2KB(也就是地址栏中地址的最大的长度)为限。 
2、传递的数据超过2KB时,务必使用Server.Transfer。

你可能感兴趣的:(C#,asp.net)