HttpRequest
HttpRequest类的父类:Page类
客户端和服务器端主要是通过http协议进行请求和响应,客户端发送的所有数据都是封装在HttpRequest对象里面,所以通过这个对象我们就可以获得在请求期间的数据(客户端上的数据)
我们通过Request属性,就可以返回HttpRequest类型的对象(实例),然后就可以使用里面的属性和方法来获取客户端的信息如:
HttpRequest r = Request; string url= r.RawUrl;
一般直接使用该属性去点别的属性或者方法即可即可
string url= Request.RawUrl;
用Request获取客户端里的html里标签元素(比如文本框)的数据时,都是通过标签名来获取,也就是name属性
get请求和post请求的区别
post请求和get请求最直观的区别GET把参数包含在URL中,POST通过request body传递参数。
也就是在url后面接问号参数(地址栏传参)属于get请求,post是把怎个页面提交给服务器
常用获取客户端请求里的数据的方法和属性
-
获取客户端请求的页面
Request.Url
-
获取客户端请求的方式
Request.RequestType
或
Request.HttpMethod
-
获取客户端使用的浏览器
Request.UserAgent
-
获取客户端使用的ip地址
Request.UserHostAddress
-
获取get请求的数据
Request.QueryString["name"]
-
获取post请求的数据
Request.Form["name"]
-
获取用户传递的数据,get,post都可以获取
Request["name"]
-
获取用户传递的数据,get,post都可以获取
Request.Params["name"]
-
Request与 Request.Params的区别:
当get和post同时存在的时候,Request获取的是get;
Request.Params两个都获取
Request.Params源码分析
string str="";
if(Request.QueryString["username"]!=null)
str+=Request.QueryString["username"]+",";
if(Request.Form["username"]!=null)
str+=Request.Form["username"];
获取客户端用户点击的按钮
如果要获取用户点击的按钮是哪个时,服务器端只需要request["name"]即可,然后就可以判断,如果有点击,那么这个获取的结果就有值。没有点则没有。
如果将多个提交按钮的name属性设置为一样的时,则会获取到点击到的那个按钮的值。
比如:
后台根据用户点击的按钮跳转到指定网页