我对如何在项目中使用可重用的部分视图的优缺点提出疑问。
在第一个示例中,我有一个在所有视图之间使用的布局。在布局中,我有一个使用Html.RenderAction("Index", "Header")
调用的局部视图。此标头会根据用户是否登录而更改,并在每个视图上呈现。
在第二个示例中,我有一个在所有视图之间使用的静态布局。但是,在此布局中,不会调用部分视图。在每个视图上调用Header部分视图,基本上与第一个示例相同(根据用户是否登录等进行更改等)。
哪种方法更好,是这样或那样的正确方法?每个人的利弊?
答案 0 :(得分:1)
asp.net-mvc背后的主要思想之一是不重用代码。因此,考虑到这一点,您应该在Header
文件中添加_Layout
代码。这样,它就不会在每个View
中重新输入,如果您需要删除它或添加路由值等,则不必更新每个View
。{/ p>
这方面的一个例子是默认项目中的_LogOnPartial
。在_Layout
中,@Html.Partial("_LogOnPartial")
调用它,_LogOnPartial
视图包含显示LogOn or Register
或Welcome back...
的逻辑语句。