Tôi biết câu hỏi này là cũ nhưng nếu bạn sử dụng giải pháp tương tự như @Gregoire chỉ vào (http://devlicio.us/blogs/sergio_pereira/archive/2009/08/23/asp-net-mvc-with-jquery-superload.aspx) cho phía máy chủ, bạn có thể chuyển nhiều id trong AjaxOptions
@Ajax.ActionLink("Link", "Action", new AjaxOptions { UpdateTargetId = "id1, #id2" })
khung MVC sẽ tự động thêm '#' vào id1
trong trường hợp này. Sau đó bạn sẽ cần phải sửa đổi jquery.unobtrusive-ajax.js
's chức năng asyncOnSuccess xung quanh dòng # 45 trông như thế này:
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;
}
});
Các Javascript chỉ đang sử dụng id cùng đã vượt qua chỉ lấy nội dung đó và thay thế id cùng với điều đó cùng Nội dung. Điều này cũng làm việc cho Ajax.BeginForm(). Có lý?
tôi đã sử dụng công việc này, với những thay đổi nhỏ để làm cho nó hoạt động trong VB. vẫn còn, đó là một giải pháp lộn xộn. Nhóm mvc cần phải được smacked trong đầu cho resorting chúng tôi này, tại sao họ không thể chỉ làm cho một khuôn khổ HOẠT ĐỘNG và không phổ biến, cơ bản mỗi ngày những thứ như người ta mong đợi? –
@ Erx_VB.NExT.Coder: giải pháp dọn dẹp là sử dụng kết quả Json, bạn có thể cập nhật bất kỳ phần nào của trang bạn muốn sử dụng javascript trên kết quả này – Gregoire
@ Erx_VB.NExT.Coder Tôi biết đây là một số thời gian trước đây, nhưng bạn nên nhìn vào Apache Wicket, nếu bạn không phải ở lại với asp.net Framework. Wicket sử dụng Java cho mã phía máy chủ mặc dù (chỉ khác biệt nhỏ). – eaglei22