【问题标题】:asp.net mvc - subfoldersasp.net mvc - 子文件夹
【发布时间】:2008-08-25 19:50:21
【问题描述】:

新的 Microsoft asp.net mvc 实现如何处理您的应用程序分区 - 例如:

--index.aspx
--about.aspx
--contact.aspx
--/feature1
--/feature1/subfeature/action
--/feature2/subfeature/action

我想我想说的是,似乎所有内容都必须进入视图/控制器文件夹的根目录,这在处理项目时可能会变得笨拙,如果使用 Web 表单构建可能会有很多文件夹和子文件夹来分区应用程序。

我想我得到了 MVC 模型,并且我喜欢它与 Web 表单相比的外观,但我仍然在思考如何在实践中构建一个大型项目。

【问题讨论】:

    标签: asp.net-mvc directory-structure


    【解决方案1】:

    组织控制器没有任何问题。您只需要设置路线即可将组织考虑在内。您将遇到的问题是找到控制器的视图,因为您更改了约定。它还没有任何内置功能,但是使用 ActionFilterAttribute 和继承 ViewLocator 的自定义视图定位器很容易围绕自己创建一个工作。然后在创建控制器时,您只需指定要使用的 ViewLocator,因此控制器知道如何找到视图。如果需要,我可以发布一些代码。

    这种方法与我给另一个人的一些建议相一致,即使用 ASP.NET MVC 将他们的视图分离到一个门户中。这是link to the question 作为参考。

    【讨论】:

    【解决方案2】:

    就如何排列视图而言,如果您愿意,可以将视图放在子文件夹中并创建自己的视图结构。所有视图始终可以使用 ~ 语法通过其完整路径引用。因此,如果您将 Index.aspx 放在 \Views\Feature1\Home 中,那么您可以使用 ~/Views/Feature1/Home/Index.aspx 引用该视图。

    【讨论】:

    【解决方案3】:

    我发现以下两篇不错的博文可能对其他读者有所帮助:

    http://stephenwalther.com/blog/archive/2008/07/23/asp-net-mvc-tip-24-retrieve-views-from-different-folders.aspx

    这篇文章更深入地讨论了 Haacked 上面描述的内容。

    http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

    这是将您的网站分组为“区域”的不错选择。

    【讨论】:

      【解决方案4】:

      感谢您提供额外的信息...这是 Billy McCafferty 关于该主题的另一篇好帖子...

      http://devlicio.us/blogs/billy_mccafferty/archive/2009/01/22/mvc-quot-areas-quot-as-hierarchical-subfolders-under-views.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-28
        • 2014-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多