1

我们有一个项目,我们创建了 2 个单独的区域供站点管理员使用,具体取决于经过身份验证的用户所属的角色。这两个区域之间存在一些重叠的功能,但还不足以我们将它们组合成一个区域。因此,我们为 UI 所做的是创建一些局部视图,这些局部视图包含在两个区域内的相似视图中,但是我在决定将局部视图物理放置的位置时遇到了麻烦。

将它放在 ~/Views/Shared 中是没有意义的,因为没有一个根级视图使用这个特定的局部视图。将文件放在 ~/Areas/[Area]/Views/Shared 中也没有意义,因为这两个区域都没有直接“拥有”这个局部视图。

在这种情况下,您认为最佳实践位置是什么?

4

1 回答 1

2

我认为 ~/Views/Shared 在这里不是最好的解决方案,尽管这些部分视图实际上是在两个Areas之间共享的,正如我所假设的那样,它们是单独的控制器。

但是,您可以使用

Html.Partial(pathToView, model)

包含局部视图的功能,可以将其放置在您想要的任何位置。即使是您提到的示例:

Html.Partial("~/Areas/[Area]/Views/Shared/PartialViewFile.cshtml", model)

或者:

Html.Partial("~/Areas/Shared/Views/PartialViewFile.cshtml", model)

这个解决方案对我来说似乎更相关,因为所有区域都共享视图,并且它们不属于特定区域。

于 2012-08-13T19:34:24.487 回答