Mặc dù bạn có thể có một hành động trả lại một phần lượt xem, bạn không cần một hành động để hiển thị chế độ xem một phần. RenderPartial lấy một phần khung nhìn và hiển thị nó, sử dụng mô hình đã cho và xem dữ liệu nếu được cung cấp, vào khung nhìn hiện tại (cha mẹ).
Bạn có thể muốn một hành động trả lại một phần lượt xem nếu bạn đang sử dụng AJAX để tải/tải lại một phần của trang. Trong trường hợp đó, việc trả lại chế độ xem đầy đủ không mong muốn vì bạn chỉ muốn tải lại một phần của trang. Trong trường hợp này, bạn có thể thực hiện hành động vừa trả lại một phần xem tương ứng với phần đó của trang.
cơ chế Chuẩn
Tận dụng xem một phần trong một cái nhìn bình thường (không cần hành động)
...some html...
<% Html.RenderPartial("Partial", Model.PartialModel); %>
...more html..
Ajax cơ chế
Reloading một phần của trang thông qua AJAX (lưu ý một phần được hiển thị trong trang tải ban đầu)
...some html...
<div id="partial">
<% Html.RenderPartial("Partial", Model.PartialModel); %>
</div>
...more html...
<script type="text/javascript">
$(function() {
$('#someButton').click(function() {
$.ajax({
url: '/controller/action',
data: ...some data for action...,
dataType: 'html',
success: function(data) {
$('#partial').html(data);
},
...
});
});
});
</script>
điều khiển cho AJAX
public ActionResult Action(...)
{
var model = ...
...
if (Request.IsAjaxRequest())
{
return PartialView("Partial", model.PartialModel);
}
else
{
return View(model);
}
}
Tôi thấy, tôi chỉ đang phát xung quanh với mẫu VS cho ứng dụng MVC. Tôi đang cố gắng hiển thị nhiều danh sách khách hàng ví dụ trong một chế độ xem một phần. Tôi hiện đang có một lớp mô hình chuyển dữ liệu, làm thế nào tôi có thể gửi mô hình này đến một phần xem mà không liên quan đến xem trang mà làm cho xem một phần này? Cảm ơn sự giúp đỡ của bạn! – yogibear
Phần này luôn được bao gồm trong chế độ xem chính. Thời gian duy nhất bạn sẽ trả lại một phần của riêng nó sẽ là nếu bạn đang cập nhật thông qua AJAX. Có lẽ bạn sẽ sử dụng một phần để hiển thị ** danh sách khách hàng **. Bạn có lẽ, có lẽ, sử dụng một vòng lặp foreach trong quan điểm của bạn để lặp qua các danh sách (chứa trong mô hình khung nhìn), chuyển từng phần một đến một phần làm mô hình của nó. – tvanfosson
+1 Rất tốt! Câu trả lời hay. –