查看外部视图文件夹不使用_Layout

时间:2017-07-18 11:53:32

标签: c# asp.net asp.net-mvc asp.net-core

我试图将每个ASP.NET控制器的所有代码保存在自己的文件夹中,这与开箱即用的设置相反。例如,我的Home文件夹将包含HomeController,每个视图的所有ViewModel以及与Home相关的所有视图。

问题是如果我将我的视图移动到Home文件夹,并按下它:

return View("~/Home/Index.cshtml");

它不会使用_ViewStart文件夹中的_Layout_ViewImportsViews页面。我希望能够在我的应用程序中的任何位置移动它们,并且仍然可以让所有视图都能够引用它们。对此有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

你想使用像我在这篇MSDN文章中描述的功能文件夹之类的东西(除了Scott Allen之外还有一个相关的Nuget包): https://msdn.microsoft.com/en-us/magazine/mt763233.aspx

如果您可以等待ASP.NET Core 2.0中的Razor Pages,它们可以提供许多与功能文件夹相同的优点。我有一篇关于这个主题的即将发表的MSDN文章,但你可以看到一个基于上面文章的GitHub分支示例的例子(一旦文章发布,很可能会合并到master中): https://github.com/ardalis/organizingaspnetcore/tree/ardalis/razorpages