【问题标题】:ASP.NET MVC vs WebformsASP.NET MVC 与 Webforms
【发布时间】:2010-10-14 06:07:11
【问题描述】:

我有一个关于 MVC 的非常简单的问题。

它到底是什么,我为什么要注意它。我知道它不是 asp.net 的替代品,但是在 ASP.NET 中有什么是我不能做的,因此需要 MVC。

我知道 google.com 是找到一些答案的最佳方式,但我想如果这里非常了解这一点的人可以解释我,我将非常感激。

【问题讨论】:

  • 这是一个非常糟糕的问题命名

标签: asp.net-mvc


【解决方案1】:

它将带您使用 MVC 进行简单的测试项目,以了解优缺点。阅读博客和文章虽然有用,但不会给您带来太多洞察力。看看吧,创造你自己的体验。

【讨论】:

    【解决方案2】:

    我想在之前的回答中补充一点,如果您根本不想采用 MVC,您可以使用 MVP 模式通过 WebForms 来分离关注点。

    这是 Phil Haack 的一篇不错的文章。

    http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

    MVP 模式的好处在于,您可以将表示逻辑从 ASP.NET 切换到 Silverlight、WinForms 甚至 WPF。

    【讨论】:

      【解决方案3】:

      ASP.NET MVC 使用与 Web 表单不同的设计模式。 MVC 旨在将不同的关注点分成不同的层。

      ASP.NET MVC 为您提供了一些开箱即用的好东西,例如脚手架(基本上您为其提供数据源并为您生成基本表单)和 URL 重写。当然,您可以使用 Web 表单执行此操作,但 MVC 为您开箱即用,这很好。

      在 ASP.NET MVC 中,您可以更好地控制标记(或者至少可以更轻松地控制标记)。对于很多人来说,这是一个真正的好东西。也就是说,您也会失去一些使 ASP.NET 网络表单易于使用的东西,例如 ViewState。

      另外,我想补充一点,您可以混合搭配网络表单和 MVC,所以这不是“全有或全无”的情况。

      希望有所帮助。

      【讨论】:

        【解决方案4】:

        首先我会说,MVC 旨在取代您所建议的 Webforms,这是一个常见的误解。 ASP.NET MVC 只是 MVC pattern 的 ASP.NET 实现。我建议您查看this postthis post。就像你提到的,你不仅可以搜索谷歌,也可以在这里搜索。

        您可以查看ScottGu's entry explaining it(2007 年发布)。
        此外,ASP.NET MVC Phil Haack 的 PM 在 his blogs on MVC 中有信息

        【讨论】:

          猜你喜欢
          • 2012-07-07
          • 1970-01-01
          • 1970-01-01
          • 2011-01-13
          • 1970-01-01
          • 2010-09-10
          • 2016-01-06
          相关资源
          最近更新 更多