Pemformatan data senarai lungsur ASP.NET MVC dan jqGrid: menyelesaikan masalah panggilan $.post
Dalam ASP.NET MVC anda boleh mengisi senarai lungsur turun data edit jqGrid secara dinamik. Walau bagaimanapun, anda mungkin menghadapi masalah dengan nilai "tidak ditentukan" yang muncul dalam senarai lungsur turun. Ini mungkin disebabkan oleh pemformatan data jqGrid.
Gambaran Keseluruhan Masalah
Apabila membuat panggilan $.post menggunakan jQuery, data yang diterima daripada pengawal mungkin mengandungi petikan berganda. Ini menyebabkan masalah dengan jqGrid kerana ia menjangkakan nilai dropdown berada dalam format "value:value;...".
Penyelesaian: Gunakan ContentResult
Untuk menyelesaikan masalah ini, gunakan kaedah ContentResult dan bukannya Json. Sintaks ContentResult adalah seperti berikut:
return Content(sb.ToString());
Alternatif: gunakan dataUrl dan buildSelect
Pilihan lain ialah menggunakan atribut dataUrl dan buildSelect dalam pilihan edit atau carian jqGrid. Menggunakan dataUrl, anda menyediakan URL yang mengembalikan data dalam format yang diperlukan oleh elemen pilih jqGrid. buildSelect ialah fungsi tersuai yang menerima data dan mengembalikan HTML elemen pilih.
Contoh Kod
Berikut ialah contoh cara menggunakan dataUrl dan buildSelect:
Operasi pengawal:
public JsonResult GetDestinationList() { List<string> allDestinations = GetAllDestinations(); return Json(allDestinations, JsonRequestBehavior.AllowGet); }
Pilihan jqGrid:
{ name: 'destinations', editable: true, edittype:'select', editoptions: { dataUrl: '/YourController/GetDestinationList', buildSelect: function(data){ var s = '<select>'; if (data && data.length) { for (var i = 0, l=data.length; i<l ; i++) { var ri = data[i]; s += '<option value="' + ri + '">' + ri + '</option>'; } } s += '</select>'; return s; }} }
Ringkasan
Anda boleh memberikan format data yang betul untuk nilai lungsur jqGrid daripada $.post calls dalam ASP.NET MVC dengan menggunakan kaedah ContentResult atau sifat dataUrl dan buildSelect.
Atas ialah kandungan terperinci Bagaimana untuk Memformat Jawapan Jatuh turun jqGrid dengan betul daripada ASP.NET MVC $.post Calls?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!