Tôi có chế độ xem một phần đang được tải vào một phương thức jQuery trong asp.net MVC 3. Vấn đề là chế độ xem không làm mới chính xác. Đây là thứ tự của sự kiện:Mô hình xem một phần MVC Không làm mới
1) Chế độ xem chính có bảng liệt kê các bản ghi sự kiện khác nhau. Có một liên kết trên mỗi hàng của bảng để hiển thị chi tiết sự kiện. 2) Khi liên kết trên bảng này được nhấp, chế độ xem từng phần được tải theo phương thức.
Điều này hoạt động tốt trong một số trường hợp, trong các trường hợp khác, mô hình sẽ mất rất nhiều thời gian để tải. Sau khi đóng chế độ xem/phương thức một phần và nhấp vào một liên kết khác từ bảng trên giao diện chính, chế độ xem một phần sẽ tải hiển thị dữ liệu từ lần tải trước đó. Nó không làm mới chính xác.
Định nghĩa của phương thức trên Main xem: tải, vui lòng chờ ...
<script type="text/javascript">
$(document).ready(function() {
$("#EventRegistrantSummary").dialog({
bgiframe: true, autoOpen: false, height: 500, width: 980, resizable: false, modal: true
});
});
function showEventRegistrantSummary(id) {
$.get("/Event/EventRegistrantSummary/" + id, function (data) {
$("#EventRegistrantSummary").html(data);
});
$("#EventRegistrantSummary").dialog('open'); return false;
}
</script>
Bộ điều khiển:
public PartialViewResult EventRegistrantSummary(Guid id)
{
ModelState.Clear();
Event e = db.Events.Single(ev => ev.ID == id);
return PartialView(e);
}
Partial View:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<model.Event>" %>
<% using (Ajax.BeginForm("EditUpdate", new AjaxOptions { UpdateTargetId="Target", InsertionMode= InsertionMode.Replace}))
{%>
<h6 style="text-align:center">Registration Summary: <%= Model.Name %></h6>
<div style="float:left;width:35%">
<fieldset id="Overview">
<legend>Overview</legend>
<div class="editor-label">
Total Registrants: <%= Model.BoatEventRegistrations.Count() %>
</div>
</fieldset>
</div>
<% } %>
Bất kỳ trợ giúp nào được đánh giá cao.
Bạn có biết bất kỳ lợi ích nào khi sử dụng phương pháp này so với kiểm soát bộ nhớ đệm tại máy chủ bằng cách sử dụng 'OutputCacheAttribute' trên bộ điều khiển không? –
Nếu bạn sử dụng cuộc gọi ajax được chia sẻ cho nhiều tác vụ hoặc có rất nhiều phương pháp cần phải tránh bộ nhớ cache. Chúng tôi xử lý khoảng 95% tất cả các bài đăng biểu mẫu qua jQuery do điều khiển được cung cấp. – Henry