Request.QueryString与request.Params的区别

转载地址:https://www.cnblogs.com/huangj/p/7879907.html https://blog.csdn.net/lansetiankong12/article/details/48594895

C#中Request.Params["id"] , Request["id"] , Requset.QueryString["id"] , Request.Form["id"]的用法以及区别?

  Request[],根据指定的key,依次访问QueryString,Form,Cookies,ServerVariables这4个集合,如果在任意一个集合中找到了,就立即返回。

  Request.Params是所有POST和GET传过来的值的集合,在访问时,先将上面4个集合的数据合并到一个新集合(集合不存在时创建), 然后再查找指定的结果。

  Request.Form是取POST传值,可以从Form中获取用户输入的表单数据。

  Request.QueryString是GET传过来的值。可以从QueryString中获取包含在URL中的一些参数。

  Request.Cookie,可以从Cookie中获取一些会话状态以及其它的用户个性化参数信息。

    除了这三大对象,HttpRequest还提供ServerVariables来让我们获取一些来自于Web服务器变量




Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);

Request.QueryString:获取地址栏参数(以GET方式提交的数据)

Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都按先后顺序搜寻一遍。

而且有时候也会得到不同的结果。如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。

Request.Params是所有post和get传过来的值的集合,request.params其实是一个集合,它依次包括request.QueryString、request.Form、request.cookies和request.ServerVariable。

Get  Post 的区别

1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
6、Get是Form的默认方法。

 

=====================================================================================

  Request.Params     获取Request.QueryString和Request.Form等项的集合。   
  Request.QueryString:接受URL等查询字符串的集合。   
  Request.Form:是用来接受窗体表单等变量。

  Request.QueryString和Request.Form以前都是专门针对asp页面的,当asp页面的form的method属性为get 时,使用querystring,为post时,使用form.   
  剩下的那个同楼上

  a调用b   
  Request.QueryString:   
  a.asp:   response.redirect   "b.aspx?id=123"   
  b.asp:     得到数据id的值则   dim   sId=Request.QueryString("id")   
    
  Request.Form:   
  a.asp:   
  <form>   
  ...   
  <asp:text   id="pName"   .../>   
  ...   
  </form>   
  b.asp:得到数据id的值则   dim   sName=Request.Form("pName")   
    
  Request.Params:.NET里面取得参数的方法,上面两种传递方式哪种都可以   
  b.aspx.cs:   
  string   sId=Request.Params("id")   
  string   sName=Request.Params("pName")


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值