Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别相关的知识,希望对你有一定的参考价值。

常见的aspx页面传值方式

1、get方式

发送页面:<a href="RequestPage.aspx?name=value"></a>

接收页面:Request["name"],Request.QueryString["name"],Request.Params["name"]

2、post方式

发送页面:

<form mathod="post" action="RequestPage.aspx">

  <input id="id" name="name"></input>

  <input type="submit"></input>

</form> 接收页面:Request.Form["name"]

3、Session和Application 将变量保存在Session和Application变量中以供整个应用程序调用

Session["para1"]=value1;

Application["para2"]=value2;

获取Session和Application中存储的值

Session["param1"];

Application["para2"];

4、静态变量

发送页面:ServerPage.aspx

public static string name="value";

protected void Page_Load(object sender,EventArgs e)

{

  Server.Transfer("RequestPage.aspx?name=value");

}

接收页面:ServerPage.name;

 

Request获取页面传值的区别 Request, Request.Parames, Request.QueryString, Request.ServerVariables, Request.Form

发送页面:

<form method="POST" action="RequestPage.aspx?name=0000">

  <input type="checkbox" name="name" value="正义" />正义

  <input type="checkbox" name="name" value="帅气" />帅气

  <input type="submit" value="submit" />

</form>

接收页面:

  • str1=Request["name"];
  • str2=Request.Params["name"];
  • str3=Request.QueryString["name"];
  • str4=Request.ServerVariables["name"];
  • str5=Request.Form["name"];

接收到的结果:

  • str1=0000
  • str2=0000,正义,帅气
  • str3=0000
  • str4=
  • str5=正义,帅气

对于接收结果的解释:

  • Request会遍历所有的集合QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一 个匹配值的名称,这样做的集合效率低,并且是不安全的。找到第一个匹配时就停止查找,一般get类型比post 类型优先级高,所以str1获取的是get传值0000;
  • Request.QueryString获取get类型传值,所以str3值为0000;
  • Request.Form获取post方式传值,所以str5值为表单传值正义,帅气;
  • Request.Params获取QueryString+Form+ServerVariable+Cookies的集合,所以str2=0000,正义,帅气;
  • Request.ServerVariables则是获取客户端相关的信息,如IE类型,IP地址等等,需要使用特定参数获取,如 Request.ServerVariables["Url"]获取服务器地址 ;Request.ServerVariables["Query_String"]获取查询字符串内容 等等。

以上是关于Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Amazon S3 中的 403 禁止问题

求用jquery实现简单的增删改查,不要求界面,最好是增删改查各用一个js文件写,使用框架不限,上传项目

Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别

request.getScheme() request.getServerName() request.getServerPort() request.getContextPath()(示例(代码

request.getParameter()request.getInputStream()和request.getReader()

request.getParameter() request.getInputStream()和request.getReader()三者的区别