Je sais que cette question est vieux, mais si vous utilisez la même solution que @Gregoire a souligné (http://devlicio.us/blogs/sergio_pereira/archive/2009/08/23/asp-net-mvc-with-jquery-superload.aspx) pour le côté serveur, vous pouvez passer plusieurs ids dans AjaxOptions
@Ajax.ActionLink("Link", "Action", new AjaxOptions { UpdateTargetId = "id1, #id2" })
le cadre MVC ajoutera automatiquement le '#' au id1
dans ce cas. Vous devrez alors modifier la fonction asyncOnSuccess de jquery.unobtrusive-ajax.js
autour de la ligne n ° 45 à ressembler à ceci:
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;
}
});
Le Javascript est juste en utilisant le même identifiant qui est passé à saisir seulement que le contenu et remplacer le même identifiant avec ce même contenu. Cela fonctionne également pour Ajax.BeginForm(). Avoir du sens?
J'ai utilisé cela, a travaillé, avec des modifications mineures pour le faire fonctionner en VB. encore, c'est une solution désordonnée. L'équipe de mvc a besoin d'être claqué dans la tête pour nous recourrir à cela, pourquoi ne peuvent-ils pas simplement faire un cadre qui fonctionne et fait des choses courantes, basiques de tous les jours comme on pourrait s'y attendre? –
@ Erx_VB.NExT.Coder: la solution de nettoyage est d'utiliser le résultat JSON, vous pouvez mettre à jour toute partie de la page que vous voulez en utilisant javascript sur ce résultat – Gregoire
@ Erx_VB.NExT.Coder Je sais que c'était il y a quelque temps, mais vous devriez regarder dans Apache Wicket, si vous ne devez pas rester avec asp.net Framework. Wicket utilise Java pour le code côté serveur (seulement une différence mineure). – eaglei22