request.form()和request()的区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request.form()和request()的区别?相关的知识,希望对你有一定的参考价值。

两者各有什么异同?有什么优点和缺点

区别如下:

1、用法不同

Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)

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

2、接收的方法不同

Request.form方法,它是用来接收表单变量的(post 方法)

Request对象也可以不指明具体使用QueryString或是form方法,如果包含以上两种方式(优先获取GET方式提交的数据),它会在 QueryString、Form、ServerVariable中都搜寻一遍。

3、传递数据量不同

Request.form方法能接收的数据没有限制。

Reques的对象为trequest.QueryString时只能接收数据量小于2KB数据。

4、执行速度不同

Request.form方法的执行速度取决于接收数据量的大小,如果数据较多执行速度比较慢。

Reques执行速度要比Request.form方法快。一般往数据库请求查询时用 request.QueryString方法来提高查询的速度。

参考资料来源:百度百科——Request对象

参考技术A

区别:

1、Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);Request.QueryString:获取地址栏参数(以GET方式提交的数据)

Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。而且有时候也会得到不同的结果。

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

2、两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而 request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。

一般往数据库请求查询时用 request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。

3、request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差;request.form方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合。

参考资料:百度百科——Request对象

参考技术B 说白了,request()是种简写,它可以获取POST方式提交的数据,也能获取GET方式提交的数据,功能上比request.query()强大。request.query()只能用来获取通过GET方式提交的数据。 参考技术C 楼上说的都对,可以这样理解(我个人的理解方式),简单区别,灵活运用的话。在页面间传值,即值由一个页面传到另一个页面,在另一个页面可以用request()来接收值。在页内传值,即表单值提交给自身页面,在自身页面脚本里面可以用request.form() 来接收值 参考技术D request.form("Action")取得是表单里叫Action表单的值
request("Action")取得是变量Action的值
望采纳。

我想知道为啥 request.form 为空

【中文标题】我想知道为啥 request.form 为空【英文标题】:I want to know why request.form is null我想知道为什么 request.form 为空 【发布时间】:2021-09-06 19:41:17 【问题描述】:

我用剃须刀页面制作登录系统

我想从cshtml输入框获取数据

request.form 为空

我学习剃须刀页面这个链接this

我想知道为什么 request.form 为空

这是cshtml

@page   "/Login"
@model WebApplication1.Pages.Login.LoginPageModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

@
    Layout = null;





<form class="form-horizontal" method="post">
    <div class="form-group">
        <label for="Userid" class="col-sm-2 control-label">Userid</label>
        <div class="col-md-4">
            <input type="text" class="form-control" name="Userid">
        </div>
    </div>
    <div class="form-group">
        <label for="Userpassword" class="col-sm-2 control-label">Userpassword</label>
        <div class="col-md-4">
            <input type="password" class="form-control" name="Userpassword">
        </div>
    </div>
</form>

<form method="post">
    <input asp-page-handler="Login" class="btn" type="submit" value="login" />
</form>


这是cs

   public IActionResult OnPostLogin()
        
            string _id = Request.Form["Userid"].ToString();
            string _password = Request.Form["Userpassword"].ToString();

            if (_id.Length == 0)
                return Page();
            
        

不通过 _id.Length == 0

【问题讨论】:

【参考方案1】:

将您的提交放在同一个表单中。

<form class="form-horizontal" method="post">
<div class="form-group">
    <label for="Userid" class="col-sm-2 control-label">Userid</label>
    <div class="col-md-4">
        <input type="text" class="form-control" name="Userid">
    </div>
</div>
<div class="form-group">
    <label for="Userpassword" class="col-sm-2 control-label">Userpassword</label>
    <div class="col-md-4">
        <input type="password" class="form-control" name="Userpassword">
    </div>
</div>
<input asp-page-handler="Login" class="btn" type="submit" value="login" />
</form>

【讨论】:

谢谢你问我学习剃须刀页面和html我应该如何通过搜索或书籍学习?

以上是关于request.form()和request()的区别?的主要内容,如果未能解决你的问题,请参考以下文章

request.form()和request()的区别

Request.Params 和 Request.Form 啥时候不同?

asp request.form

如果request.form中的request.method =='POST'和'sub':在flask中不起作用:如果条件没有执行

Request.Form怎样取值

Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别