ASP理解(一)页面间传值

页面间不同的传值方式,对应着不同的打开新页面的方式:

1.URL附加字段(相当于get的表单提交)

  协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

这种方式只要求是通过URL打开页面,不限于打开页面的方式。无论是C#的Redirect方法还是JavaScript的window对象的方法。

JavaScript可以通过location.href得到当前页面访问路径,从而获取对应参数。

C#可以通过QueryString获取参数。

缺点:保密性差 ;   长度有限

优点:不消耗服务器资源;  

2.window.open()

  window是一个javascript对象,可以用它的open方法。

  当使用window.open()打开新页面时,浏览器会认为这两个窗口之间有一种打开与被打开的关系,所以在被打开的新窗口中在当前窗口的window对象中有一个window.opener 属性,这个值里面放着打开窗口的引用,所以可以获得这个值,进而引用上一页面内的对象的值。

  优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象. 不仅可以访问值,还可以访问父窗口的方法.值长度无限制. 

  缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.

3.Server.Transfer传值:

  通过C#的Server.Transfer()打开新页面,可以在新页面通过Context.Handler获得上个页面实例化的句柄,进而获取上个页面的对象

4.Cookie对象变量:

Cookie是针对每一个用户而言的,是存放在客户端的 ,Cookie的使用要配合ASP.NET内置对象Request来使用

5.Session对象变量:

Session也是针对每一个用户而言的,是存放在服务器端的 ,Session不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed 后,变量才会消失

6.Application对象变量:
 Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock

  

猜你喜欢

转载自www.cnblogs.com/dengquan/p/9289543.html