Maison > développement back-end > C++ > Comment formater correctement les réponses déroulantes jqGrid à partir des appels ASP.NET MVC $.post ?

Comment formater correctement les réponses déroulantes jqGrid à partir des appels ASP.NET MVC $.post ?

Susan Sarandon
Libérer: 2025-01-11 09:07:41
original
1020 Les gens l'ont consulté

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

Formatage des données des listes déroulantes ASP.NET MVC et jqGrid : résolution du problème d'appel $.post

Dans ASP.NET MVC, vous pouvez remplir dynamiquement la liste déroulante des données de modification de jqGrid. Cependant, vous pouvez rencontrer des problèmes avec des valeurs « non définies » apparaissant dans les listes déroulantes. Cela peut être dû au formatage des données de jqGrid.

Aperçu du problème

Lors d'un appel $.post à l'aide de jQuery, les données reçues du contrôleur peuvent contenir des guillemets doubles. Cela pose des problèmes avec jqGrid car il s'attend à ce que la valeur de la liste déroulante soit au format "value:value;...".

Solution : utilisez ContentResult

Pour résoudre ce problème, utilisez la méthode ContentResult au lieu de Json. La syntaxe de ContentResult est la suivante :

return Content(sb.ToString());
Copier après la connexion

Alternative : utilisez dataUrl et buildSelect

Une autre option consiste à utiliser les attributs dataUrl et buildSelect dans les options d'édition ou de recherche de jqGrid. À l'aide de dataUrl, vous fournissez une URL qui renvoie les données au format requis par l'élément select de jqGrid. buildSelect est une fonction personnalisée qui reçoit des données et renvoie le HTML de l'élément select.

Exemple de code

Voici un exemple d'utilisation de dataUrl et buildSelect :

Opérations du contrôleur :

public JsonResult GetDestinationList() {
    List<string> allDestinations = GetAllDestinations();
    return Json(allDestinations, JsonRequestBehavior.AllowGet);
}
Copier après la connexion

Options 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;
  }}
}
Copier après la connexion

Résumé

Vous pouvez fournir le format de données correct pour les valeurs déroulantes jqGrid à partir des appels $.post dans ASP.NET MVC en utilisant la méthode ContentResult ou les propriétés dataUrl et buildSelect.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal