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: 12 male: man 键值对数目:3
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 > 0){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 请求期间发送的 ...
- HttpRequest 与HttpWebRequest 有什么区别
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等 而System.Net.HttpWebReq ...
- 一个文件下载的工具类
主类: /** * <p> * Copyright: Copyright (c) 2015 * Company: * Description: 这里写这个文件是干什么用的 * </p ...
- HttpWebRequest类
HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...
- quick-cocos2d-x 绑定C++自定义类
初次接触lua和quick-cocos2d-x,想要用用cocosWidget,然后就碰到C++到lua的绑定问题了. 看了下网上的教程,http://cn.cocos2d-x.org/tutoria ...
- DRF-视图类APIView与GenericAPIView
两个基本类视图APIView,GenericAPIView APIView继承了Django中的view 权限指将来如果有注册用户的时候,是否有权限访问到我们的视图 认证是当发过来一个用户名和密码的时 ...
- HttpRequest 和HttpWebRequest的区别(转)
[1]问题: asp.net C# 中HttpRequest 和HttpWebRequest的区别 HttpRequest 与HttpWebRequest 有什么区别? 网上中文的帖子很多,但是答案 ...
- asp.net 中 HttpRequest 中跟URL path 有关的方法和属性 (摘自用怪异的眼光去研究blog)
对于获取URL path,在HttpRequest 类中已经封装好了很多的相关的方法和属性. 可是在使用中,依然容易被搞迷糊,那个方法是获取相对路径的,那个方法是获取绝对的,每次都会晕上一会儿. 今儿 ...
- python drf_067.Python框架Django之DRF视图类
一 关于视图类的一下概念 drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用. ...
- DAY74-Django框架(五)
一.虚拟环境 对于一些需要跑在不同版本的模块下的项目,可以跑在虚拟环境中运行 创建虚拟环境的两种方法 pychanrm**创建 1.创建项目时选择使用虚拟环境 2.在已创建的项目中设置settin ...
最新文章
- redis持久化 mysql_Redis 如何保持和MySQL数据一致
- 即将开源 | 2亿用户背后的Flutter应用框架Fish Redux
- 打一针就可修复受损心脏,“癌症克星”CAR-T跨界疗法登上Science封面
- 关于web项目当中的mybatis的xml 文件的配置启动报错的解决。
- Java的知识点28——文件编码、IO流的实例
- 【转】新浪微博手机客户端刷新都是手动刷新或者下拉刷新,为什么不设计成自动刷新?...
- python字典获取关联值_【Python实战12】使用字典关联数据
- 新手入门指导:Vue 2.0 的建议学习顺序
- 操作系统上机题目(多进程2)
- PAT 1003 Emergency 递归记录访问路径
- 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法
- Mozilla 将推出全新的安卓移动浏览器 Fenix
- 在python中打开文件显示没有权限PermissionError: [Errno 13] Permission denied:
- linux内核 v4l2编译,Linux之V4L2基础编程
- 架构图解_图解 Docker 架构
- js获取最新的省市区地址
- flutter 控制iOS设备屏幕可旋转支持方向
- python使用百度OCR接口识别图片文字
- 使用Packer在Winodws VMware Workstation Pro上自动部署Windows Server 2016中文版
- linux关机重启机器人,Linux Stopped (tty output) 问题
热门文章
- 层次凝聚聚类算法(HAC)
- Spark开发指南(0.8.1中文版)
- 最新基于高德地图的android进阶开发(6)感兴趣点(POI)周边搜索源码浅析
- Python文件运行时报TabError: inconsistent use of tabs and spaces in indentation
- [Selenium+Java] Selenium Framework: Keyword Driven Hybrid
- 四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理...
- 解决Boost库链接出错问题
- leetcode链表--1、深拷贝链表
- QT学习-核心类列表-12、QtDesigner
- Unity3d之HashSlash学习笔记(一)--角色属性类的构架