Heim > Backend-Entwicklung > C++ > Wie formatiere ich jqGrid-Dropdown-Antworten von ASP.NET MVC $.post-Aufrufen richtig?

Wie formatiere ich jqGrid-Dropdown-Antworten von ASP.NET MVC $.post-Aufrufen richtig?

Susan Sarandon
Freigeben: 2025-01-11 09:07:41
Original
997 Leute haben es durchsucht

How to Properly Format jqGrid Dropdown Responses from ASP.NET MVC $.post Calls?

ASP.NET MVC- und jqGrid-Dropdown-Listen-Datenformatierung: Lösung des $.post-Aufrufproblems

In ASP.NET MVC können Sie die Dropdown-Liste „Daten bearbeiten“ von jqGrid dynamisch füllen. Es kann jedoch zu Problemen kommen, wenn in Dropdown-Listen „undefinierte“ Werte angezeigt werden. Dies kann durch die Datenformatierung von jqGrid verursacht werden.

Problemübersicht

Beim Ausführen eines $.post-Aufrufs mit jQuery können die vom Controller empfangenen Daten doppelte Anführungszeichen enthalten. Dies führt zu Problemen mit jqGrid, da erwartet wird, dass der Wert des Dropdown-Menüs im Format „Wert:Wert;...“ vorliegt.

Lösung: ContentResult verwenden

Um dieses Problem zu lösen, verwenden Sie die ContentResult-Methode anstelle von Json. Die Syntax von ContentResult lautet wie folgt:

<code class="language-csharp">return Content(sb.ToString());</code>
Nach dem Login kopieren

Alternative: dataUrl und buildSelect verwenden

Eine weitere Option besteht darin, die Attribute dataUrl und buildSelect in den Bearbeitungsoptionen oder Suchoptionen von jqGrid zu verwenden. Mit dataUrl stellen Sie eine URL bereit, die Daten in dem Format zurückgibt, das für das select-Element von jqGrid erforderlich ist. buildSelect ist eine benutzerdefinierte Funktion, die Daten empfängt und den HTML-Code des ausgewählten Elements zurückgibt.

Codebeispiel

Hier ist ein Beispiel für die Verwendung von dataUrl und buildSelect:

Controller-Operationen:

<code class="language-csharp">public JsonResult GetDestinationList() {
    List<string> allDestinations = GetAllDestinations();
    return Json(allDestinations, JsonRequestBehavior.AllowGet);
}</code>
Nach dem Login kopieren

jqGrid-Optionen:

<code class="language-javascript">{ 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;
  }}
}</code>
Nach dem Login kopieren

Zusammenfassung

Sie können das richtige Datenformat für jqGrid-Dropdown-Werte aus $.post-Aufrufen in ASP.NET MVC bereitstellen, indem Sie die ContentResult-Methode oder die Eigenschaften dataUrl und buildSelect verwenden.

Das obige ist der detaillierte Inhalt vonWie formatiere ich jqGrid-Dropdown-Antworten von ASP.NET MVC $.post-Aufrufen richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage