我从MVC4 beta
升级到RC和最新的autofac.以下操作正确绑定,但现在两个参数都为null.我看到他们改变了关于格式化程序的事情,但我不确定是什么原因引起了我的问题
[HttpPost]
RedirectModel MyAction(string value1,string value1)
请求
Method: POST
Accept: application/json
URL: api/controller/myaction
BODY: {"value1":"1000","value2":"foo"}
不确定为什么从Beta改变,但我能够通过将动作签名更改为:
[HttpPost]
RedirectModel MyAction(MyActionDTO dto)
并将MyActionDTO定义为
public class MyActionDTO
{
public string value1 { get; set; }
public string value2 { get; set; }
}
它抛出了一个例外,即无法使用两个字符串参数绑定到多个body参数.我想使用DTO对象更接近地代表你在AJAX调用中发送的内容(一个JSON对象).