本篇内容主要讲解“Asp.net中Form Collection和Request.Form的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Asp.net中Form Collection和Request.Form的区别是什么”吧!
成都创新互联公司于2013年成立,先为浠水等服务建站,浠水等地企业,进行企业商务咨询服务。为浠水企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
FormCollection和Request.Form的区别:
推荐大家使用FormCollection,原因有以下两点:
1.前者便于单元测试:
对于Action进行单元测试时,使用FormCollection作为输入参数,比Request.Form简单,书写如下代码即可模拟一个FormCollection:
[csharp]view plaincopyprint?
varform=newFormCollection();
form.Add(“fieldName”,”fieldValue”);
2.前者可支持MVC扩展:
Asp.net MVC在进行模型绑定时,会将用户输入绑定到FormCollection中,默认情况下,FormCollection中的内容与Request.Form一致,但是当我们自定义ModelBinder时,会影响FormCollection的取值,而Request.Form不会影响。这样如果我们在自定义ModelBinder时依旧使用Request.Form,自定义ModelBinder就毫无用处。
Request.form和Request.QueryString
1.Request.form方法,它是用来接收表单变量的(post 方法)
2.Request.QueryString方法, 它是接收URL参数的 (get 方法)
3.Request对象也可以不指明具体使用QueryString或是form方法,如request(“变量”),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。Request:包含以上两种方式(优先获取GET方式提交的数据),它会在 QueryString、Form、ServerVariable中都搜寻一遍。
两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而 request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用 request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问题,因此大量被应用在多个文本域提交数据和用户登陆的场合。
到此,相信大家对“Asp.net中Form Collection和Request.Form的区别是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!