EDIT:关于 ASP.NET MVC:我个人对 ASP.NET Web 表单有负面的偏见。在 MVC 之前,我通过编写自定义处理程序来对 HTML 进行细粒度控制,从而完成了高级项目的大部分动态方面的工作。 Web 表单使 Web 开发变得非常容易,但它们有一些特别好的东西,但有时会出现问题。其中第一个是ViewState第二个很复杂WebControl建筑学。别误会我的意思。这些都是 ASP.NET 辉煌的标志。我还没有见过像 ASP.NET Web Forms 这样简单的单一 Web 开发平台,这只是因为它具有出色的性能WebControl需要的支持ViewState。然而,在某些项目中,您希望对渲染的 HTML 进行精确控制(特别是当您有一些客户端逻辑时)。您还希望使服务器端代码在大型项目中可维护。在这些领域,ASP.NET MVC 确实大放异彩。但我认为 ASP.NET Web 窗体将仍然是一项更适用的伟大技术。毕竟,正如我所说的一般设计模式,您应该仔细评估您的设计,看看哪一种更适合您的需求。
具体来说,关于数据访问,MVC 通常比 Web 表单需要更多的代码。对于呈现表格数据(即适用 GridView 的情况),我认为 ASP.NET Web 窗体是完成任务的更简单方法。然而,大多数数据驱动的 Web 应用程序不仅仅是直接操作数据库中的表。它们的布局复杂。 StackOverflow 就是一个很好的例子。它当然是数据驱动的,但 ASP.NET MVC 更适合它。