加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 从ASP.NET MVC中的部分视图中删除逻辑

发布时间:2020-12-16 04:20:25 所属栏目:asp.Net 来源:网络整理
导读:我知道视图不应该包含代码,但在我正在处理的项目中,我在视图中有很多逻辑. 我的主页有 % Html.RenderPartial("SearchResults"); % 现在在局部视图中,我有很多这样的逻辑; div id="RestaurantsList"%if (Model.restaurantsList.Count() 0){ foreach (var item
我知道视图不应该包含代码,但在我正在处理的项目中,我在视图中有很多逻辑.

我的主页有

<% Html.RenderPartial("SearchResults"); %>

现在在局部视图中,我有很多这样的逻辑;

<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语句.

你最好怎么处理这个?

解决方法

我个人认为这没关系.您使用的逻辑与模型需要如何显示完全相关.

您只需要注意并确保您永远不会混淆业务逻辑,数据访问逻辑或任何其他未严格限制在模型显示中的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读