C# ASP.NETWebAPI2表单模型绑定器属性?

C# ASP.NETWebAPI2表单模型绑定器属性?,c#,.net,asp.net-web-api,model-binding,C#,.net,Asp.net Web Api,Model Binding,ASP.NET Web API 2(非核心)是否也包含类似于绑定操作的[FromForm]属性?或者我可以将ASP.NET Core中的dll添加到普通ASP.NET Web API 2中吗?{ “多部分/表单数据”。”, “ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException”, “StackTrace”:“位于System.Net.Http.HttpContentExtensions.ReadAsAsync[T](Http

ASP.NET Web API 2(非核心)是否也包含类似于绑定操作的
[FromForm]
属性?或者我可以将ASP.NET Core中的dll添加到普通ASP.NET Web API 2中吗?{

“多部分/表单数据”。”, “ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException”, “StackTrace”:“位于System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent 内容、类型、IEnumerable
1格式化程序、IFormatterLogger
formatterLogger,CancellationToken CancellationToken)\r\n位于
System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage
请求、类型、IEnumerable
1格式化程序、IFormatterLogger formatterLogger,CancellationToken CancellationToken)“}


不,只有
FromUri
FromBody
可用于ASP.NET Web API 2。您可以查看


还有,为什么您要尝试将
从表单
实现到ASP.NET Web API 2。您只需将表单操作配置为
获取
发布
,并将数据传递到Web API。在我看来,这太过工程化了。

我认为您实际上不了解这些属性或它们的作用。
[FromBody]
表示您正在提供序列化(JSON、XML等)或基本上没有
应用程序/x-www-form-urlencoded
mime类型(图像或其他文件类型)的任何其他内容。如果您正在向标记为
[FromBody]的参数发送普通表单post(
应用程序/x-www-form-urlencoded
请求正文)
,当然它不会绑定,因为您明确地告诉它,它应该期望的不是您发送的内容


[FromForm]
这样的东西实际上是毫无用处的,因为默认情况下,
application/x-www-form-urlencoded
,这就是这个属性所能做的。长短不一,只是不要用任何东西装饰你的动作参数。

@Stormcloack好吧,我目前正在使用邮递员发送我的数据(整数和文件)…但是我不能用我的绑定模型绑定我的整数…为什么?只需发布你的文件和整数。在这种情况下,FromForm会为你提供什么?@Stormcloack…我是说如果我使用
[FromBody]
我无法绑定数据…我的绑定模型仍然无法绑定基本类型,不知道为什么…尽管我能够从
HttpContext.Current.Request.Files[0]获取我的文件(图像);
PS:我使用的是ASP.NET而不是core,在我的WebApiConfig中,我有这行代码
config.Formatters.XmlFormatter.SupportedMediaTypes.Add(新System.Net.Http.Headers.MediaTypeHeaderValue(“多部分/表单数据”);
因为如果没有它,我会得到一个可怕的错误(有问题的错误)
"Message": "The request entity's media type 'multipart/form-data' is not supported for this resource.",
"ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'FooBindModel' from content with media type