通過JSON將對象數組發布到ASP.Net MVC3我正在尋找一種通過JSON將對象數組發布到MVC3的解決方案。我正在處理的示例代碼為:http : //weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspxJS:var data = { ItemList: [ {Str: 'hi', Enabled: true} ], X: 1, Y: 2 };$.ajax({ url: '/list/save', data: JSON.stringify(data), success: success, error: error, type: 'POST', contentType: 'application/json, charset=utf-8', dataType: 'json'});ListViewModel.cs:public class ListViewModel{ public List<ItemViewModel> ItemList { get; set; } public float X { get; set; } public float Y { get; set; }}ItemViewModel.cs:public class ItemViewModel{ public string Str; // originally posted with: { get; set; } public bool Enabled; // originally posted with: { get; set; }}ListController.cs:public ActionResult Save(ListViewModel list){ // Do something}POST的結果:將list設置為ListViewModel。設置其X和Y屬性。設置基礎的ItemList屬性。ItemList包含一個項目,該項目應為未初始化。Str為null,Enabled為false。換句話說,這就是我從MVC3的模型綁定中得到的結果:list.X == 1list.Y == 2list.ItemList != nulllist.ItemList.Count == 1list.ItemList[0] != nulllist.ItemList[0].Str == nullMVC3 JsonValueProvider似乎不適用于復雜對象。我該如何工作?我是否需要修改現有的MVC3 JsonValueProvider并對其進行修復?如果是這樣,我如何獲得它并在MVC3項目中替換它?我已經沒有用過的相關StackOverflow問題:Asp.net Mvc Ajax Json(后數組) 使用MVC2和較舊的基于表單的編碼-這種方法對于包含對象數組的對象將失?。↗Query無法對其進行正確編碼)。使用JSON發布一系列復雜對象,JQuery到ASP.NET MVC Controller。 我想避免在Controller收到一個純字符串的地方,然后由它手動反序列化自身,而不是利用框架,這是我想避免的。MVC3 RC2 JSON發布綁定未正常工作 未設置他的內容類型-它在我的代碼中設置。如何使用JSON,jQuery將復雜對象數組發布到ASP.NET MVC Controller? 這個可憐的家伙不得不寫一個JsonFilter只是為了解析一個數組。我寧愿避免的另一種攻擊。那么,我該如何實現呢?
4 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
我有一個類似的問題,發現對于一個復雜的對象,數值會被遺漏。他們進來為零。即
var person = {
Name: "john",
Age: 9
}
由MVC控制器作為Person對象接收,其中屬性填充為Name=John和Age=0。
然后,我將Javascript中的Age值設置為字符串...即
var person = {
Name: "john",
Age: "9"
}
這樣就好了...
添加回答
舉報
0/150
提交
取消