HttpRequest类
一、HttpRequest的作用
HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值。比如表单、URL、Cookie传递过来的参数。
返回字符串的那些值就不说了,那些基本上都是与HTTP请求报文相关的东西。
现在看看返回NameValueCollection对象的东东,这个对象只是为了存储返回的东西。
1、Request.Headers;
这个东西返回的是什么呢?写个实例:
public ActionResult Index()
{
HttpRequest request = System.Web.HttpContext.Current.Request;
NameValueCollection headersCollect = request.Headers;
string[] headArr = headersCollect.AllKeys;
foreach (string str in headArr)
{
Response.Write(str + ":" + headersCollect.Get(str) + ";<br/>");
}
return View();
}
看看在浏览器输出:

再用火狐看看HTTP请求报文的请求头信息:

明显可以看到,这个request.Headers返回的就是请求头信息的一个NameValueCollection集合。
2、Request.Form
这个属性获取的是浏览器提交的表单内容,也是返回NameValueCollection对象,这个对象中包含了所有的表单键值对内容。
看前台HTML代码:
<form action="/Home/GetForm" method="post">
<p>姓名:<input type="text" name="Name" /></p> //输入张三
<p>年龄:<input type="text" name="Age" /></p> //输入12
<p>性别:<input type="radio" name="male" value="man" />男 <input type="radio" name="male" value="woman" />女</p> //选择 男
<p><input type="submit" value="提交" /></p>
</form>
后台代码:
public ActionResult GetForm()
{
HttpRequest request = System.Web.HttpContext.Current.Request;
NameValueCollection FormCollect = request.Form;
foreach (string str in FormCollect)
{
Response.Write(str + ": " + FormCollect.Get(str) + "<br/>");
}
return Content("键值对数目:" + FormCollect.Count);
}
浏览器输出:
Name: 张三
Age:
male: man
键值对数目:
3、Request.QueryString
该属性的作用是将URL中的参数全部保存到NameValueCollection集合中。
public ActionResult TestCookie()
{
NameValueCollection nvc = new NameValueCollection();
nvc = System.Web.HttpContext.Current.Request.QueryString;
Response.Write(nvc.Count + " "); //输出路径中参数集合的总数
if (nvc.Count > )
{
foreach (string str in nvc.AllKeys)
{
Response.Write(str + ": " + nvc.Get(str) + "; "); //遍历url参数集合,输出参数名与值
}
}
return View();
//当路径为http://localhost:22133/Home/testCookie?id=1&name=张三&Age=23
//输出3 id: 1; name: 张三; Age: 28;
}
4、Params,Item与QueryString、Forms的区别
- Get请求用QueryString;
- Post请求用Forms;
- Parms与Item可以不区分Get请求还是Post请求;
Params与Item两个属性唯一不同的是:Item是依次访问这4个集合,找到就返回结果,而Params是在访问时,先将4个集合的数据合并到一个新集合(集合不存在时创建), 然后再查找指定的结果。
HttpRequest类的更多相关文章
- HttpRequest 类
关于此类的介绍:查看HttpRequest类 点击查看:HttpRequest中方法的封装 跟这个类对应的HttpResponse类 定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 ...
- ASP.NET -- WebForm -- HttpRequest类的方法和属性
ASP.NET -- WebForm -- HttpRequest类的方法和属性 1. HttpRequest类的方法(1) BinaryRead: 执行对当前输入流进行指定字节数的二进制读取. ( ...
- C# 之 HttpRequest 类
Request对象派生自HttpRequest类,使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值,从客户端获取信息,浏览器的种类,用户输入表单的数据,Cooki ...
- HttpWebRequest类与HttpRequest类的区别
HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等. HttpWebR ...
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...
- (4)ASP.NET HttpRequest 类
HttpRequest 类的主要作用是读取客户端在 Web 请求期间发送的 HTTP 值. https://msdn.microsoft.com/zh-cn/library/system.web.ht ...
- .net学习笔记----HttpRequest类
一.HttpRequest的作用 HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值.比如表单.URL.Cookie传递过来的参数. 返回字符串的那些值就不说了,那些基本上都 ...
- .net学习笔记----HttpRequest,WebRequest,HttpWebRequest区别
WebRequest是一个虚类/基类,HttpWebRequest是WebRequest的具体实现 HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所 ...
- java http工具类和HttpUrlConnection上传文件分析
利用java中的HttpUrlConnection上传文件,我们其实只要知道Http协议上传文件的标准格式.那么就可以用任何一门语言来模拟浏览器上传文件.下面有几篇文章从http协议入手介绍了java ...
随机推荐
- java 学习资料
最近一直在从java基础开始学习java,感觉个人学习思路还是比较混乱的. 看到Java工程师成神之路中介绍了需要学习的知识点,并在<成神之路系列文章>中分章分节的开始介绍其中所有的知识点 ...
- Php 笔记3-----php与 asp的等价关系
对比asp.net 与 php的对比 ,有助于进一步理解 php. 1 输出. asp.net 输出 Response.Write(str); // 将string 写入到 服务器向浏 ...
- GitHub使用教程及常见错误解决
1.下载Git并安装 Git for Windows Git-1.8.4-preview20130916.exe 按照默认步骤完成安装 2.设置SSH建立计算机与Github的链接 2.1 点击 开始 ...
- PHP.ini 配置文件解析
[PHP] ;;;;;;;;;;;;;;;;;;;; About php.ini ;;;;;;;;;;;;;;;;;;;;; PHP's initialization file, generall ...
- 通知(Toast+Notification)
Toast简要说明:(前面已经用过好多次了) Toast是一种非持久的(在屏幕上面留一会儿就消失了),提供给用户简洁提示信息的视图. 它不阻断用户的操作,一般用于显示一些不重要的信息.(比方说设置音量 ...
- linux中的配置文件
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个 ...
- 第三百四十四天 how can I 坚持
三言诗,把自己的心情,想要说的话用三句话诗意的表达出来.像: 烦===>好想睡一觉,待日落,盼天明. 愁====>待到花开花落,闲庭信步,蹋碎一世忧愁. 三句话,可以表达的很好. 老是感觉 ...
- 第二百三十五天 how can I 坚持
其实昨天听遗憾的,尽头看了新闻,有好多人都出去赏雪了,可惜了,最遗憾的是没有叫上你一块去. 晚上喝了点酒,抽了两根烟,以前基本不喝酒,就别提抽烟了,陈小春的<算你狠>,该如何是好. 经常在 ...
- xe mysql
[FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysql.dll or libmysqld.dll]. The specifie ...
- 转】用Maven构建Mahout项目
原博文出自于: http://blog.fens.me/hadoop-mahout-maven-eclipse/ 感谢! 用Maven构建Mahout项目 Hadoop家族系列文章,主要介绍Hadoo ...