So che questa domanda è vecchia, ma se si utilizza la stessa soluzione @Gregoire indicò (http://devlicio.us/blogs/sergio_pereira/archive/2009/08/23/asp-net-mvc-with-jquery-superload.aspx) per il lato server è possibile passare più iD in AjaxOptions
@Ajax.ActionLink("Link", "Action", new AjaxOptions { UpdateTargetId = "id1, #id2" })
il framework MVC farà precedere automaticamente il '#' a id1
in questo caso. Sarà quindi necessario modificare jquery.unobtrusive-ajax.js
's funzione asyncOnSuccess attorno alla riga # 45 di simile a questa:
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;
}
});
Il Javascript è solo utilizzando lo stesso ID che è passato per afferrare solo che il contenuto e sostituire lo stesso ID con lo stesso soddisfare. Questo funziona anche per Ajax.BeginForm(). Ha senso?
ho usato questo, ha funzionato, con piccole modifiche per farlo funzionare in VB. ancora, è una soluzione disordinata. Il team di mvc ha bisogno di essere colpito in testa per averci affidato a questo, perché non possono semplicemente creare un framework che FUNZIONA e fa cose quotidiane comuni e basilari come ci si aspetterebbe? –
@ Erx_VB.NExT.Coder: la soluzione più pulita è quella di utilizzare il risultato Json, è possibile aggiornare qualsiasi parte della pagina che si desidera utilizzando javascript su questo risultato – Gregoire
@ Erx_VB.NExT.Coder So che questo è stato qualche tempo fa, ma si dovrebbe guarda in Apache Wicket, se non devi stare con asp.net Framework. Wicket usa però Java per il codice lato server (solo una piccola differenza). – eaglei22