existe-t-il un moyen de spécifier plusieurs identifiants de la cible de mise à jour avec AJAX.ActionLinkLink afin que je puisse rendre un ensemble de vues partielles sur le rappel? p>
Le problème que je vois est que AJAX.ActionLink ne fournit qu'un identifiant cible pour moi de mettre à jour, mais ce dont j'ai besoin, c'est de mettre à jour plusieurs régions de la page avec des données différentes après un appel Ajax. p>
Toute aide sur ce serait génial! Merci! P>
3 Réponses :
Non, il n'y a pas. Vous pouvez cependant, cependant, écrivez un code qui le fait vous-même. Vous auriez besoin de:
Exemple: p>
$.ajax({
type: "POST",
url: "/action/controller",
success: function(data) {
var key;
for (key in data) {
$("#" + key).html(data[key]);
}
}
});
Vous pouvez vérifier ce lien: http://devlicio.us/blogs/sergio_pereira/archive/2009/08/23/asp-net-mvc-with-jquery-superload.aspx P>
J'ai eu le même problème et cela m'aide à résoudre p>
J'ai utilisé cela, travaillé, avec des modifications mineures pour le faire fonctionner dans VB. Néanmoins, c'est une solution désordonnée. L'équipe MVC doit être frappée dans la tête pour nous recourir à cela, pourquoi ne peut-ils pas simplement faire un cadre qui fonctionne et fait des choses communes, fondamentales quotidiennes comme on pourrait s'attendre?
@ Erx_vb.next.coder: la solution de nettoyage consiste à utiliser le résultat JSON utilisé, vous pouvez mettre à jour n'importe quelle partie de la page que vous souhaitez utiliser JavaScript sur ce résultat.
@ ERX_VB.NEXT.CODER Je sais que c'était il y a quelque temps, mais vous devriez regarder dans Apache Wicket, si vous n'êtes pas obligé de rester avec ASP.NET Framework. Wicket utilise Java pour le code côté serveur, mais seulement une différence mineure).
Je sais que cette question est vieille, mais si vous utilisez la même solution que @gregoire pointée vers (http://devlicio.us/blogs/sergio_pereira/Archive/2009/08/23/asp-net-mvc-phan- jquery-superloat.aspx) Pour le côté serveur, vous pouvez transmettre plusieurs identifiants dans AjaxOptions
mode = (element.getAttribute("data-ajax-mode") || "").toUpperCase();
$(element.getAttribute("data-ajax-update")).each(function (i, update) {
var top,
html = $("#" + update.id, data).html();
switch (mode) {
case "BEFORE":
top = update.firstChild;
$("<div />").html(html).contents().each(function () {
update.insertBefore(this, top);
});
break;
case "AFTER":
$("<div />").html(html).contents().each(function () {
update.appendChild(this);
});
break;
default:
$(update).html(html);
break;
}
});