我试图将每个ASP.NET控制器的所有代码保存在自己的文件夹中,这与开箱即用的设置相反。例如,我的Home
文件夹将包含HomeController
,每个视图的所有ViewModel以及与Home
相关的所有视图。
问题是如果我将我的视图移动到Home
文件夹,并按下它:
return View("~/Home/Index.cshtml");
它不会使用_ViewStart
文件夹中的_Layout
,_ViewImports
或Views
页面。我希望能够在我的应用程序中的任何位置移动它们,并且仍然可以让所有视图都能够引用它们。对此有一个简单的解决方案吗?
答案 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