【问题标题】:The best way to organize the files in a large ASP.NET MVC2 project?在大型 ASP.NET MVC2 项目中组织文件的最佳方式是什么?
【发布时间】:2011-01-27 17:53:33
【问题描述】:

我在网上寻找组织 ASP.NET MVC2 项目的最佳方式。我只看到有人使用 MVC2 项目的默认模板的示例。但是,如果项目要包含大量文件,这是组织项目的最佳方式吗?

我们正在构建一个应用程序,该应用程序主要围绕 jQuery 构建,用于 UI 和使用 JSON 的 ajax。因此,您可以想象,我们将拥有许多自定义 .js 支持脚本。

在我们的解决方案中,我们已将所有支持库(第三方和自定义)放入各自的项目中。同样在解决方案中的 MVC2 项目正在使用默认的 MVC2 模板。

在 MVC2 项目中,“开始”结构几乎没有改变。在 Controllers 目录下,我们有每个控制器 AccountController.cs 和 HomeController.cs(例如)。在 Views 目录下,我们有三个子目录,分别名为 Account、Home 和 Shared。在 Scripts 目录中,我们还将其划分为三个目录:Account、Home 和 Shared。最后是 Models 目录,它也分为 Account、Home 和 Shared 子目录。

如您所见,我们并没有太大偏离基本模板。但是,当我们开始向其中添加内容时,我们意识到当我们获得 20 或 30 个视图和 100 个支持 .js 文件时,这可能会变得多么麻烦。

任何建议都会很棒!

谢谢。

【问题讨论】:

    标签: asp.net jquery asp.net-mvc-2 project


    【解决方案1】:

    研究使用区域来组织您的视图/控制器/模型/内容。

    这是来自 Microsoft 的一篇好文章:Walkthrough: Organizing an ASP.NET MVC Application using Areas

    为了适应大型项目,ASP.NET MVC 允许您将 Web 应用程序划分为称为区域的较小单元。区域提供了一种将大型 MVC Web 应用程序分成更小的功能组的方法。区域实际上是应用程序内部的 MVC 结构。一个应用程序可以包含多个 MVC 结构(区域)。

    【讨论】:

    • 嘿,谢谢。我正在调查这个。想知道为什么 MVC2 项目从一开始就不是这样设置的吗?此外,它似乎为每个区域/视图添加了一个 web.config 文件。每个区域都需要这个 web.config 文件吗?
    • 我认为大多数人甚至都没有意识到它们,除非您达到了寻找更好组织的地步。是的,每个区域都需要 web.configs。
    • 好吧,在过去的 30 分钟里,我一直在和他们打交道,并且已经看到这是多么优越。再次感谢您的建议!
    • 那么,在区域组织中,对于 AccessDenied.aspx 和/或 LoginRequest.aspx 等不属于任何特定区域的项目,您应该将全局视图放置在哪里?
    • 对于这样的事情,我通常把它们放在~/Views/Shared/* 并创建一个~/Controllers/SharedController.cs
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2010-11-03
    相关资源
    最近更新 更多