Tôi biết rằng các khung nhìn không nên có mã trong chúng nhưng trong một dự án tôi đang làm việc trên tôi có rất nhiều logic trong các khung nhìn.Xóa logic khỏi các khung nhìn từng phần trong ASP.NET MVC
trang chủ của tôi có
<% Html.RenderPartial("SearchResults"); %>
Bây giờ trong giao diện phần tôi thực sự lo aweful logic như thế này;
<div id="RestaurantsList">
<%if (Model.restaurantsList.Count() > 0)
{
foreach (var item in Model.restaurantsList)
{ %>
<% Html.RenderPartial("SearchResult", item); %>
<%
} %>
<%
}
else
{
Html.RenderPartial("NoResults");
} %>
Bây giờ tôi có thể làm cho bộ điều khiển nhà trở lại một cái nhìn khác nhau dựa trên danh sách là rỗng nhưng tôi không thực sự muốn điều đó như xem Index có một vài điều mà tôi muốn hiển thị không có vấn đề nếu có kết quả hay không.
Điều duy nhất tôi có thể nghĩ đến ở đây là gói gọn trong phương thức trợ giúp như Html.SearchResults. Nhưng sau đó tôi sẽ cần người trợ giúp để gọi renderPartial cho mỗi kết quả tìm kiếm. Điều đó dường như không phải là mối quan tâm sạch sẽ.
Tôi vẫn sẽ phải có câu lệnh if đầu tiên trong phần xem mặc dù.
Bạn sẽ xử lý tốt nhất điều này như thế nào?
+1 Luôn tự hỏi thực hành tốt nhất là gì trong trường hợp này. –