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"]获取查询字符串内容 等等。
时间: 2024-07-31 17:59:01

Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别的相关文章

@params、@PathVariabl和@RequestParam用法与区别

[1]params params: 指定request中必须包含某些参数值是,才让该方法处理. @RequestMapping(value = "testParamsAndHeaders", params = { "username","age!=10" }) public String testParamsAndHeaders() { System.out.println("testParamsAndHeaders"); r

&lt;s:form action=&quot;login&quot;...与&lt;s:form action = &quot;login.action&quot;.的区别

1.<s:form action="login" namespace="/login"> 它表示的是<form id="login" name="login" action="/Action/login/login.action" method="post"> 因为它使用了struts标签,后面会自动加.action,而且namespace会起作用 2.<s

csharp: Request.Form,Request.QueryString,Request.Params,Request.Cookies

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

Response、Request、QueryString,repeater添加,修改,删除数据

内置对象: Response对象:响应请求,Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应. Response.Write("<script>alert('添加成功!')</script>");-----弹出提示窗,显示添加成功 Response.Redirect("Default.aspx"); Request对象:获取请求 Request["key"]来获取传递过来的值,Reques

Response、Request、QueryString,修改,Cookies

Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Response.Redirect("Default.aspx"); Request对象:获取请求Request["key"]来获取传递过来的值 QueryString:地址栏数据传递 ?key=value&key=value注意事项:不需要保密的东西可以传不要传过长东西,因为长度有限,

ajax请求中form data与request payload之间的区别

HTTP请求过程中,get请求:表单参数以name=value&name1=value1的形式附到url的后面:  post请求:表单参数是在请求体中,也是name=value&name1=value1的形式在请求体中. POST表单请求提交时,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST请求如果不指定请求头RequestHeader,默认使用的Content-Type是text/plain;charset

C# form表单提交enctype=&quot;multipart/form-data&quot; 与 enctype=&quot;application/x-www-form-urlencoded&quot; 两者之间的区别

1.application/x-www-form-urlencoded GET方式,会将表单中的数据(键值对)经过urlencode编码后追加到url中. POST方式,会将表单中的数据经过urlencode编码后放在request body 中. 2.multipart/form-data 当需要在表单内上传文件时(二进制流数据)时,就需要使用 multipart/form-data. "application/x-www-form-urlencoded",他是默认的MIME内容编码

vue 路由传参 params 与 query两种方式的区别

初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了:  router文件下index.js里面,是这么定义路由的: { path:"/detail", name:"detail", component:home } 我想用params来传参,是这么写的,嗯~ this.$router.push({ path:"/detail", params:{ name:'nameV

Python form...import...和import的区别(自己理解的)

Python有两种导入包和模块的方式,区别如下 form...import... import 相对导包 导入不同包子模块 可以导入模块所需变量/函数/类   init文件的__all__特殊变量(模块列表)               import 语句 import_stmt ::= "import" module ["as" identifier] ("," module ["as" identifier])* | &q