加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:21:29 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET MVC中,可以访问表单发布数据: var thisData = Request.Form["this.data"]; 是否可以在Web API ApiController中实现相同的功能? 解决方法 ASP.NET Web API在处理不同的HTTP场景时变得非常强大 – 尤其是流式传输。因此,仅媒体类型格式化器通常
在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"];
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读