2011-05-13 84 views
0

我正在使用MVC 1.0。使用JSON stringify與MVC 1.0

我使用JSON.Stringify()從jquery插件Json2.js序列化JavaScript對象發送到MVC操作方法。

我總是在操作方法參數中爲null。我錯過了什麼。

這stringify只適用於MVC 3.0?是否有可能將JavaScript對象傳遞給MVC 1.0中的操作方法?

繼博客,我提到: http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx

感謝

+0

你很困惑。 JSON.stringify是否有效以及MVC是否會綁定結果*完全是單獨的問題。*您需要在Fiddler或Firebug中查看請求,並確定它是JSON.stringify還是MVC binder,這是問題所在。 – 2011-05-13 16:01:05

回答

3

你可以做這樣的事情:

public void ActionMethod(string objectJson) 
{ 
    TheClass theObject = new JavaScriptSerializer().Deserialize<TheClass>(objectJson); 

} 

,並在網頁上:

$.ajax({ url: "ActionMethod", 
     data: { objectJson: JSON.stringify(theObject) } 
    }); 

在MVC 2(也許它在MVC 1),如果你的類是不是太複雜,你甚至可以做到這一點:

public void ActionMethod(TheClass theObject) 
{ 
} 

+

$.ajax({ url: "ActionMethod", 
    data: theObjectInJson 
}); 

當然在theObjectInJson字段必須匹配TheClass

+0

謝謝朱利安:)...它爲我工作... 我沒有嘗試第二個選項...我也會嘗試.. – Lamps 2011-05-14 05:21:55

+0

因爲我的課有點複雜第二個選項確實很好..它partiall y working ... 謝謝任何​​方式...讓我知道這一點.. :-) – Lamps 2011-05-14 06:04:29