


Mengapakah ASP.NET MVC $.post Panggilan ke jqGrid saya Mengembalikan Nilai Tidak Ditakrifkan dalam Dropdown?
Jan 11, 2025 am 08:49 AMMenyelesaikan masalah ASP.NET MVC dan jqGrid Dropdown Populasi Isu
Masalahnya: Nilai "undefined" yang tidak dijangka muncul dalam lungsur jqGrid apabila diisi secara dinamik menggunakan panggilan $.ajax() ASP.NET MVC 2. Ini berpunca daripada data yang tidak diformatkan dengan betul yang dikembalikan ke grid. JqGrid menjangkakan format khusus untuk nilai lungsur turun, seperti: "FE:FedEx; IN:InTime; TN:TNT"
. Menggunakan StringBuilder untuk pemformatan data menghasilkan petikan tambahan dan koma bertitik di belakang.
Analisis: Pendekatan awal menggunakan ContentResult(sb.ToString())
untuk mengembalikan data. Walaupun berfungsi, ia kurang cekap dan terdedah kepada ralat pemformatan.
Penyelesaian: Memanfaatkan ciri dataUrl
dan buildSelect
jqGrid dalam editoptions
atau searchoptions
menawarkan penyelesaian yang lebih bersih, lebih mantap. Ini menghapuskan pemformatan rentetan manual. dataUrl
menentukan sumber data dan buildSelect
mengendalikan pemformatan.
Contoh menggunakan dataUrl
dan buildSelect
:
{ name: 'destinations', editable: true, edittype: 'select', editoptions: { dataUrl: '<%= Url.Action("GetDestinationList", "Home") %>', buildSelect: function(response) { var s = ''; if (response && response.length) { for (var i = 0; i < response.length; i++) { s += response[i] + ';'; //Note the semicolon placement } } return s; // Removed trailing "" } } }
Pertimbangan Kaedah HTTP:
Jika permintaan POST diutamakan daripada GET untuk dataUrl
, gantikan Json(allDestinations, JsonRequestBehavior.AllowGet)
dengan Json(allDestinations)
pada bahagian pelayan dan tambahkan ajaxSelectOptions: { type: "POST" }
pada pilihan jqGrid.
Dioptimumkan buildSelect
Fungsi:
Fungsi buildSelect
yang disediakan boleh dioptimumkan sedikit untuk kejelasan dan kecekapan (walaupun fungsinya serupa dengan yang asal):
buildSelect: function(response) { return (response && response.length) ? response.join(';') : ''; }
Pendekatan yang disemak ini menyediakan kaedah yang lebih mudah diselenggara dan kurang ralat untuk mengisi menu lungsur jqGrid.
Atas ialah kandungan terperinci Mengapakah ASP.NET MVC $.post Panggilan ke jqGrid saya Mengembalikan Nilai Tidak Ditakrifkan dalam Dropdown?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?

Penggunaan dan perkongsian frasa yang berbeza

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?
