0

我有一个关于如何在项目中使用可重用部分视图的利弊问题。

在第一个示例中,我有一个在所有视图之间使用的布局。在布局中,我有一个使用Html.RenderAction("Index", "Header"). 此标头会根据用户是否登录而更改,并且会在每个视图上呈现。

在第二个示例中,我有一个在所有视图之间使用的静态布局。但是,在此布局中没有调用局部视图。每个视图都调用 Header 部分视图,并且基本上与第一个示例执行相同的操作(根据用户是否登录等进行更改)

哪种方法更好,一种方法还是另一种方法正确?各有优劣?

4

1 回答 1

1

背后的主要思想之一是不重用代码。因此,考虑到这一点,您应该Header在文件中包含代码_Layout。这样它就不会在 every 中重新输入View,如果您需要删除它或添加路由值等,您不必更新每个View拥有它的东西。

这方面的一个例子是_LogOnPartial默认项目中的那个。在 中,_Layout它被 调用@Html.Partial("_LogOnPartial"),并且_LogOnPartial视图包含一个逻辑语句,它要么显示LogOn or Register要么Welcome back...

于 2012-09-09T16:03:19.470 回答