【问题标题】:Best Practices for ASP.NET Webforms Project structureASP.NET Webforms 项目结构的最佳实践
【发布时间】:2012-07-25 07:06:37
【问题描述】:

在使用 ASP.NET 网络表单时,我看到了两种主要的构建项目的方法:

1) 有很多 .aspx 文件(包括代码隐藏文件),可能还有一些 .ascx 文件(带有代码隐藏文件。

2)依赖大量的.cs文件(类文件),让类用Controls.Add()等构造一切。

上面的第一种方法会导致很多 aspx 和 ascx 文件和很少的 .cs 文件。上面的第二种方法会产生很多 .cs 文件,但会产生非常少的 aspx 和 ascx 文件。

是否有构建项目的“最佳实践”方式? Microsoft 是否推荐其中一种技术?有没有关于这两种风格中哪一种更常用的信息?

【问题讨论】:

标签: asp.net webforms


【解决方案1】:

我会坚持第一种方法。某些控件非常繁琐(或难以)以编程方式创建。

GridViewListView 为例,创建一个带有GridView 的*.aspx 页面,该页面具有带有模板列的自定义模板。然后运行您的应用程序,在 ASP.NET 临时目录中找到 *.dll,反编译该类,看看代码是多么混乱和复杂。随着时间的推移,很难对其进行维护和/或进行更改。

另一方面,只要你努力保持平衡,有一些声明性代码也不错。

【讨论】:

    【解决方案2】:

    如果您还没有这样做,请查看ASP.NET MVC。如果您不能选择 MVC,您可以使用 ASP.NET WebForms 实现 MVP pattern。这两种模式提供了很好的方式来分离表示、模型和路由。

    【讨论】:

      【解决方案3】:

      这两种方法都没有错。使用哪一种取决于个人喜好、可行性和要求。

      您可能会遇到的一个问题是,如果您使用第二种方法,能够接手您的项目并使用它运行的开发人员将更少,或者需要更长的时间来加快速度。您会发现更多开发人员可以轻松地采用第一种方法并继续前进。

      【讨论】:

        【解决方案4】:

        尽可能使用方法一,只有在开箱即用的控件无法为您提供所需功能时才使用方法二 - 在这种情况下,您可以通过从现有控件继承来创建自定义控件。这不是一个“非此即彼”的场景——您应该明智地使用这两种方法。

        【讨论】:

          猜你喜欢
          • 2014-06-26
          • 2010-10-04
          • 1970-01-01
          • 1970-01-01
          • 2017-02-18
          • 1970-01-01
          • 1970-01-01
          • 2018-05-10
          • 1970-01-01
          相关资源
          最近更新 更多