如何在Asp.net visual studio中组织视图到文件夹?

时间:2015-08-19 12:24:12

标签: c# asp.net

我已经在一个项目上花了一段时间,我最终对不同的模型有很多看法。我是否可以将这些视图组织到子文件夹中。所以,为了清楚起见,我想做以下事情:

控制器:

      MyControllers(Folder)->
         MyFirstController.cs
         MYSubcontroller(Folder)->
             MySubController.cs

查看:

      MyFirst(Folder)->
         Index.cshtml
         MYSub(Folder)->
             Index.cshtml

2 个答案:

答案 0 :(得分:0)

最基本的选项是您的控制器路由在返回时明确指定视图:

return View("PATH-TO-YOUR-VIEW");

但是我不喜欢这种方法,因为你失去了很好的内置MVC约定。

默认情况下,Razor View Engine在查找视图时将使用以下约定:

~/Views/{1}/{0}.cshtml
~/Views/{1}/{0}.vbhtml
~/Views/Shared/{0}.cshtml
~/Views/Shared/{0}.vbhtml
  1. 视图名称
  2. 控制器名称
  3. 考虑到这一点,如果您有一个名为MySubController的控制器,其默认Index操作,您通常会有一个视图文件:

    ~/Views/MySub/Index.cshtml
    

答案 1 :(得分:0)

您可以将视图和控制器放在任何位置。您可以在App_Start事件上轻松自定义视图路径。请参阅本主题中的答案:Can I specify a custom location to "search for views" in ASP.NET MVC?

我建议使用标准的项目结构和路径。这将使最终使用您的代码的其他开发人员的生活更轻松。