如何将一个大视图拆分为MVC中的小视图

时间:2016-04-26 19:18:50

标签: asp.net-mvc razor

考虑到你有一个很大的首页包括来自数据库的大量数据(如新产品,最佳产品,最新帖子,横幅,滑块等),不仅像标题之类的静态视图。与this post相关 似乎最好建立一个复杂的模型并将页面拆分为小的局部视图。但是这样使用ACTIONS和分页的方式有什么问题:

@{
    ViewBag.Title = "Home";
}

@{Html.RenderAction("Header", "Home");}

@{Html.RenderAction("Sliders", "Home");}

@{Html.RenderAction("Specials", "Home");}

@{Html.RenderAction("Services", "Home");}

...

@{Html.RenderAction("Footer", "Home");}

所以你不需要使用复杂的模型。

编辑:我的主要问题是在视图中使用操作而不是部分视图有什么问题。通过这种方式,您无需发送复杂模型来查看和使用其零件进行部分视图

1 个答案:

答案 0 :(得分:2)

使用部分视图使代码更易于维护,因为部分视图按照惯例命名为下划线,如" _PartialView"

通过这种方式,您可以在解决方案中轻松查看哪些视图是部分视图,哪些视图不是。

您希望如何实施它们最常见的是心灵和经验问题,但始终力求最佳实践。

也就是说,尝试编写您认为想要读取代码的方式,在长时间休息后回来,或者您希望如何找到您认为很容易理解的其他人编写的代码。

认知压力越小越好,无论代码是给你还是其他人。