我有一个控制器,其方法根据参数的值返回一些响应。我试图将Json数据POST到此控制器,但不知何故绑定不起作用。我正在使用Fiddler来测试我的控制器方法:
[AcceptVerbs(HttpVerbs.Post)]
public string Authenticate(string username)
{
//some logic
return "value";
}
现在,当我调试应用程序时,userName总是返回null。为了测试这个方法我正在使用Fiddler。请求的原始数据是:
POST http://localsite/Home/authenticate HTTP/1.1
User-Agent: Fiddler
Host: localhost:52774
x-requested-with: XMLHttpRequest
Content-Length: 20
Content-Type: application/json; charset=utf-8
Accept: application/json
{"username":"kunal"}
我猜错了。
答案 0 :(得分:0)
在MVC2中,没有开箱即用的JSON模型绑定器支持。
如果您不打算升级到MVC3 / 4,那么您可以找到一篇好文章:Sending JSON to an ASP.NET MVC Action Method Argument如何在MVC2应用程序中启用它。
基本上,您需要为JsonValueProviderFactory
...
ValueProviderFactories
幸运的是,您可以在ASP.NET MVC 2 Futures library
中找到实施方案