Я использую функцию множественного выбора, чтобы выбрать несколько строк и передать их контроллеру. Ниже приведен 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 как массив и в настоящее время добавляю к нему четыре идентификатора («102,103,104,105»). Когда я отлаживаю и смотрю на colData, он содержит «102,103,104,105». Затем я передаю его действию контроллера в виде строки, а затем десериализую ее. Когда я десериализую его, он сообщает: «Недопустимый примитив JSON: 103,104,105».
Я видел другие сообщения, но не могу найти ничего, связанного с моей проблемой. Когда я передаю colData, используя «data: {id: colData}», id возвращается как null.
Пожалуйста, помогите мне разобраться в этой проблеме, я уже давно застрял в ней. Любые предложения приветствуются.