【转】Request.Form.Get() Request.Form Request[]区别

本文深入解析ASP.NET中Request、Request.Form、Request.QueryString三种获取参数的方法及其区别,通过实例演示如何在ASP页面提交数据并正确处理获取到的参数。详细对比了三种方法的适用场景和特性,帮助开发者准确选择合适的参数获取方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Request.Form.Get()可以获取空值,其他的获取的是空值是会出错。

Request.Form是获取以POST方式提交的表单数据;
Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据
而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString

Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。

       而且有时候也会得到不同的结果。如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在 QueryString、ServerVariable中也搜寻一遍。如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。

纠正一个概念,使用Request.Form和使用Request是不一样的:
使用Request.Form,ASP是从FORM集合中搜索。
使用Request,ASP是以如下顺序进行搜索:
1.QueryString
2.Form
3.Cookies
4.ClientCertificate
5.ServerVariables
如果在QueryString里也存在一个同Form里相同的变量名,则不会返回Form里的值,而是QueryString的。

 

 

Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。

 

Request.Form是获取以POST方式提交的表单数据;
Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据
而Request则包含以上两种方式,会在Request.QueryString(优先)和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString

下面举例说明:

需求:在asp页面上提交数据,.cs页面获得和处理数据发邮件。

html

<FORM name="Frm" onSubmit="return check_input()" action="http://localhost/xhtHotelOrder/order.aspx" method="post" ID="Form1">

在action中写入要提交到的页面。

cs

string comment = Request.Form["comment"];//特殊要求
            string roomnum = Request.Form["roomNum"];//客房数量
            if(name==null||age==null||sex==null||phone==null||cardtype==null||cardno==null||datefrom==null||dateto==null||roomtype==null||address==null||roomnum==null)
            {
                Response.Write("<script>alert('请录入完整信息');window.history.go(-1);</script>");            
                return;
            }
Request.Form["aaa"]获得传过来form里的数据

转载于:https://www.cnblogs.com/fighting-mochou/archive/2012/12/12/2815555.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值