Je suis novice dans le développement web et je travaille sur ma première application ASP.NET MVC 3. J'utilise jqGrid et j'ai remarqué que l'actualisation de la page n'actualise pas les valeurs dans la liste déroulante jusqu'à ce que j'ouvre la même page dans un autre onglet, puis l'actualisation du premier onglet récupère les valeurs modifiées.La liste déroulante jqGrid dataUrl n'est pas rafraîchissante
J'ai une action de contrôleur qui ressemble à ceci:
public JsonResult FavoriteToppings()
{
var all = GetFavoriteToppings();
return Json(all, JsonRequestBehavior.AllowGet);
}
et j'ai la partie de la définition jqGrid ressemble à ceci:
{ name: 'ToppingID', index: 'ToppingID', width: 200,
editable: true, align: 'left', edittype: 'select', stype: 'select',
editoptions: {
dataUrl: '@Url.Action("FavoriteToppings", "Dessert")',
buildSelect: createSelectList
},
searchoptions: {
dataUrl: '@Url.Action("FavoriteToppings", "Dessert")',
buildSelect: createSelectList,
sopt: ['eq']
}
},
et createSelectList
ressemble à ceci:
createSelectList = function (data) {
var response, s = '<select>', i, l, ri;
if (typeof (data) === "string") {
//var leng = data.length - 1;
response = jQuery.parseJSON(data);
}
else {
response = jQuery.parseJSON(data.responseText);
s += '<option value="">Select...</option>';
}
if (response && response.length) {
for (i = 0, l = response.length; i < l; i += 1) {
ri = response[i];
s += '<option value="' + ri + '">' + ri + '</option>';
}
}
return s + '</select>';
}
Je l'ai remarqué lors de la modification d'un des noms de recouvrement. J'ai changé le "Hot Fugde" mal orthographié à "Hot Fudge" et l'a sauvé. Les données sous-jacentes dans la table sont mises à jour pour afficher le remplissage correctement orthographié (c'est-à-dire, toutes les lignes reflètent correctement la modification) lorsque j'actualise la page, mais pas la liste déroulante du filtre. Cette action n'est pas appelée du tout après la première fois pour prendre le changement.
Lorsque j'ouvre la même page dans une autre page du navigateur, l'action est appelée. Après cela, si vous actualisez le premier onglet, l'entrée correctement orthographiée s'affiche dans la liste de sélection.
Peut-être que je vais juste à ce sujet incorrectement. Des conseils?
@itsmatt: Vous êtes les bienvenus! C'est un problème de tem où la solution est très simple, mais pour laquelle on peut passer beaucoup de temps. :-) – Oleg