【发布时间】:2013-10-24 22:06:33
【问题描述】:
我正在使用 ASP.NET MVC3 控制器从 WP7 应用程序接收多部分表单帖子。帖子的格式如下:
{User Agent stuff}
Content-Type: multipart/form-data; boundary=8cdb3c15d07d36a
--8cdb3c15d07d36a
Content-Disposition: form-data; name="user"
Content-Type: application/json
{"UserName":"ashish","Password":"ashish"}
--8cdb3c15d07d36a--
我的控制器看起来像:
public class User
{
public string UserName { get; set;}
public string Password { get; set; }
}
[HttpPost]
public JsonResult CreateFeed(User user)
{
}
我看到的是 User 没有绑定到 json 并且用户对象始终为空。我尝试制作用户字符串并使用 DataContractJsonSerializer 手动将其绑定到 User 类,它确实创建并分配了一个对象,但我对它为什么不起作用感到困惑。
我尝试使用非多格式帖子,发现它适用于相同的 json。任何帮助,将不胜感激。
我在编写代码时看到了这些帖子:ASP.NET MVC. How to create Action method that accepts and multipart/form-data 和 HTTP 规范 http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2。
【问题讨论】:
-
未经测试,即兴回答:将
name="feedItem"更改为name="user"? -
其实我以前是用户。仍然没有运气:(
-
您不需要顶级“用户”元素吗?您通常使用 DataContractJsonSerializer,但不确定这里发生了什么。我的意思是 { "user" : { "UserName" ... } }
标签: asp.net-mvc json binding controller