2012-07-04 56 views
0

我有一個控制器,其方法根據參數的值返回一些響應。我試圖將Json數據發佈到這個控制器,但不知何故綁定不起作用。我正在使用Fiddler來測試我的控制器方法:控制參數的綁定在使用HTTP POST時返回NULL

[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

在MVC2中,沒有模型綁定器支持JSON開箱即用。

如果您不打算升級到MVC3/4,那麼您可以找到一篇好文章:Sending JSON to an ASP.NET MVC Action Method Argument如何在MVC2應用中啓用它。

基本上你需要創建並添加JsonValueProviderFactoryValueProviderFactories ...

幸運的是,你可以找到在ASP.NET MVC 2 Futures library

+0

一個實現formscollection那麼只有這樣,才能收到貼值? –

+0

如果你不想使用鏈接文章中描述的'JsonValueProviderFactory',那麼我猜是的。 – nemesv