【发布时间】:2017-07-19 20:09:54
【问题描述】:
我试图将每个 ASP.NET 控制器的所有代码保存在它自己的文件夹中,这与开箱即用设置相反。例如,我的 Home 文件夹将包含 HomeController、每个视图的所有 ViewModel,以及与 Home 相关的所有视图。
问题是如果我将我的视图移动到Home 文件夹,然后点击它:
return View("~/Home/Index.cshtml");
它不使用我在Views 文件夹中的_ViewStart、_Layout 或_ViewImports 页面。我希望能够将它们移动到我的应用程序中的任何位置,并且仍然有办法让所有视图都能够引用它们。有没有简单的解决方案?
【问题讨论】:
-
您可能需要一个自定义视图引擎来告诉它在哪里寻找视图、布局等。
-
在您的 cshtml 文件中,尝试使用特定布局
Layout = "~/Views/Shared/_HomeLayout.cshtml"指定要强制使用的布局(注意:您需要指定实际布局文件的位置) -
或者我建议查看 K. Scott Allen 的功能文件夹包,它明确用于执行此操作 github.com/OdeToCode/AddFeatureFolders
-
天哪 @DavidG 这正是我所追求的。我看过很多 K. Scott Allen 的复数视频,但之前没有看过这个包。多么酷的家伙。再次感谢。
-
拥有一个好主意的问题是其他人可能已经拥有它!我想我在 NDC 视频中看到他在谈论这个。
标签: c# asp.net asp.net-mvc asp.net-core