这一节我们将讲解如何在ASP.NET Core 中读取客户端提交的表单数据。大家可能首先想到的是通过模型绑定来处理表单数据。除了模型绑定之外,我们还可以通过 Request 对象直接读取提交的表单数据。
我们创建一个ASP.NET Core项目,在创建项目时建议大家选择Empty模板,空模板看起来更干净一些,如果需要什么服务和中间件我们可以手动添加,这样可以帮你理清楚每个中间件和服务的具体用途。
在项目中我们直接使用如下创建一个默认的预先配置好的WebApplication对象。
WebApplication.Create();
在ASP.NET Core 模板中,使用了如下的代码创建一个WebApplication的对象
var builder = WebApplication.CreateBuilder(args);
// configure services
var app = builder.Build();
// configure middleware
app.Run();
相信上面这段代码大家看起来更熟悉
在项目代码中我们在服务器端输出到客户端一个html的页面,页面中包含了一些字段,我们使用post方式将客户端的数据提交到服务器端,服务端使用Request对象来接受客户端提交的表单数据:
var app = WebApplication.Create();
app.MapGet(“”, async context =>
{
context.Response.Headers.Append(“content-type”, “text/html;charset=utf-8”);
var page = $@”
提交个人信息
提交表单
姓名 密码 描述 性别 公 母 爱好 写小说 看电影 打篮球 是否已婚? 是否敢于尝试新事物?
“;
await context.Response.WriteAsync(page);
});
app.MapPost(“person-info”, async context =>
{
context.Response.Headers.Append(“content-type”, “text/html;charset=utf-8”);
if (context.Request.HasFormContentType)
{
var form = await context.Request.ReadFormAsync();
foreach (var v in form.Keys)
{
await context.Response.WriteAsync($"{v} = {form[v]} <br/>");
}
}
await context.Response.WriteAsync("");
});
app.Run();
我们使用Request.ReadFormAsync() 方法读取表单中的数据,并将数据打印出来
源代码地址:
声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/421762.html