我正在使用多選功能來選擇多行並傳遞給控制器。 JavaScript的低於:無效的JSON基元:103,104,105。 - jqgrid - 傳遞數組到控制器動作
onClickButton: function (ids) {
var grid = $("#employee");
var rowid = grid.jqGrid('getGridParam', 'selarrrow');
var count = rowid.length;
var rowData;
var colData = [];
for (var i = 0; i < count; i++) {
rowData = $("#employee").getRowData(rowid[i]);
colData[i] = rowData.ID;
}
$.ajax({
type: 'POST',
url: '/Home/Create/' + colData,
//data: { id: colData },
dataType: "json"
});
}
我控制器操作低於:
public ActionResult Create(string id){
JavaScriptSerializer ser = new JavaScriptSerializer();
var myList = ser.Deserialize<List<string>>(id);}
我創建colData作爲一個數組,目前加入四個ID(又稱爲「102,103,104,105」)。當我調試並查看colData時,它包含「102,103,104,105」。然後,我將它作爲字符串傳遞給控制器操作,然後將其反序列化。當我反序列化它時,它會抱怨爲「無效的JSON基元:103,104,105」。
我看過其他帖子,但找不到與我的問題相關的任何內容。當我使用「data:{id:colData}」傳遞colData時,id返回爲null。
請幫我解決這個問題,這是一段時間,我堅持這一個。任何建議不勝感激。
向我們展示JSON? – 2012-07-30 19:09:12
我將colData傳遞給控制器,它包含值爲字符串「102,103,104,105」。回到控制器操作中,id被檢索爲相同。我曾嘗試在控制器操作中檢索List,但它以空值返回,因此以字符串形式檢索並試圖反序列化該id,然後拋出錯誤。 –
inspiringmyself
2012-07-30 19:19:59