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.Params 和 Request.Form 啥时候不同?
如果request.form中的request.method =='POST'和'sub':在flask中不起作用:如果条件没有执行
Request,Request.QueryString,Request.Params,Request.Form,Request.ServerVariables之间的区别