我知道视图不应该有代码,但在我正在处理的项目中,我在视图中有很多逻辑。从ASP.NET MVC的部分视图中删除逻辑
我的主页上有
<% Html.RenderPartial("SearchResults"); %>
现在我有一个aweful很多像这样的逻辑的局部视图;
<div id="RestaurantsList">
<%if (Model.restaurantsList.Count() > 0)
{
foreach (var item in Model.restaurantsList)
{ %>
<% Html.RenderPartial("SearchResult", item); %>
<%
} %>
<%
}
else
{
Html.RenderPartial("NoResults");
} %>
现在我可以让家庭控制器返回基于该列表是空上有不同的看法,但我真的不希望,作为索引视图有我想要显示无论几件事情如果有结果或没有。
我能想到的唯一的其他事情就是封装在一个像Html.SearchResults这样的辅助方法中。但是之后我需要助手为每个搜索结果调用renderPartial。这似乎并没有让人担忧。
虽然我仍然必须在部分视图中拥有第一个if语句。
你最好怎么处理?
+1总是想知道在这种情况下最佳做法是什么。 – 2009-06-05 16:28:00