asp.net – 有没有办法在Web Api控制器中处理表单发布数据?

前端之家收集整理的这篇文章主要介绍了asp.net – 有没有办法在Web Api控制器中处理表单发布数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在ASP.NET MVC中,可以访问表单发布数据:
var thisData = Request.Form["this.data"];

是否可以在Web API ApiController中实现相同的功能

解决方法

ASP.NET Web API在处理不同的HTTP场景时变得非常强大 – 尤其是流式传输。因此,仅媒体类型格式化器通常触摸内容并且必须使内容保持一致。

在ASP.NET MVC中,application / x-www-form-urlencoded内容类型是一等公民(特别是因为这是95%POST请求的内容类型),我们有FormsCollection来提供字典访问权限。访问,只要它被定义为输入参数。

在ASP.NET Web API中,application / x-www-form-urlencoded是另一种内容类型,应该由其MediaTypeFormatter读取。因此,ASP.NET Web API无法对Forms进行任何假设。

ASP.NET Web API中的常规方法是将表单表示为模型,以便媒体类型格式化程序对其进行反序列化。另一种方法是将actions的参数定义为NameValueCollection:

public void Post(NameValueCollection formData)
{
   var value = formData["key"];
}
原文链接:https://www.f2er.com/aspnet/252071.html

猜你在找的asp.Net相关文章