ASP.Net篇之QueryString与页面传值的总结

9 篇文章 0 订阅
4 篇文章 0 订阅

ASP.Net篇之QueryString与页面传值的总结

首先补充一下Session的删除:

移除个别:Session.Remove("aa");

全部清除:Session.Clear(); (一般应用于注销)

 

QueryString:

如果传中文的时候出了问题的话,解决方法:

编码问题:

<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>

另外一个方法是在QueryString中先用它对汉字编码: Server.UrlEncode(汉字).ToString(); 
例如:http://localhost/test.aspx?lanmu=Server.UrlEncode(汉字).ToString()

 

QueryString在ASP.Net中的基本用法:

发送端:

string querystr = "xxxxx";

Response.Redirect(”text.aspx?a="+querystr);

接收端:

Request.QueryString["a"];

 

QueryString的主要特点:

简单快捷,但是传递的值会显示在浏览器的地址栏上面,考虑到安全性的问题,则需要(如果中文的话,则进行编码,还有取值时候的反编码)。

同时QueryString是不能传递对象的,顾名思义,传递的是string字符串,所以,在传递一些对安全性要求不高的数值,或者一些短小的字符串时,可以考虑使用。

 

QueryString的编码方面Server.UrlEncode、HttpUtility.UrlDecode的区别:

Server.UrlEncode的编码方式是按照本地程序设置的编码方式进行编码的,而HttpUtility.UrlEncode是默认的按照.net的utf-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。

 

页面传值的总结:

客户端

1.查询字苻串QueryString---利用URL在客户机和服务器间进行数据交换 
2.隐藏的窗体字段hidden---在窗体字段中设置和读取数据 
3.COOKIE---保存在客户浏览器上的数据 
4.视图状态ViewState---保存页面相关数据

服务器端:

5.应用程序Application---这种数据在应用程序整个生命周期内可以被所有用户利用 
6.会话Session---这种数据和每个用户联系 
7.暂存状态Context---这种数据在单个请求过程中存在 
8.缓存Cache---这种数据与应用程序相类似 
9.其他物理数据存放媒体---例如数据库,TXT文本,XML文件等等 
10. 使用Server.Transfer方法

 

请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 
QueryString  传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了 
session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。  
application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock 
cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用
input ttype="hidden" 简单,可能被伪造 
url参数简单,显示于地址栏,长度有限 
Server.Transfer  把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 
数据库稳定,安全,但性能相对弱

 

什么是Viewstate?它有什么作用?

ViewState用来保存页面状态,就是说提交之后我们还可以看到文本框里面的内容就是ViewState保存的功劳。 
ViewState只维护当前页面的状态,不同页面之间不能共享,Session可以。 
ViewState你可以理解为一个隐藏控件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值