我正在使用多选功能来选择多行并传递给控制器。javascript如下:
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。
请帮我解决这个问题,我已经被这个问题困扰了一段时间。任何建议都非常感谢。