ASP.NET webforms和MVC之间的主要区别是什么

时间:2008-09-26 21:36:02

标签: asp.net asp.net-mvc

我知道MVC是什么,我在webforms中工作,但我不知道MVC会有多么不同。我猜模型背后的代码会有所不同。那么它会像webforms一样减去背后的代码,而是将它放在控制器中吗?

我看到还有其他相关帖子,但我不是他们解决这个问题。

5 个答案:

答案 0 :(得分:13)

对于初学者,MVC不使用< asp:control>控制,优先于良好的旧标准<输入>等。因此,您不会将“事件”附加到像在ASP中一样在代码隐藏中执行的控件。它依赖标准的http POST来做到这一点。

它不使用viewstate对象。

它允许更智能的url映射,虽然现在路由命名空间已被分离,我想知道它是否可以用于WebForms?

自动化测试Web部件要容易得多。

它允许更容易地将UI逻辑与“后端”组件分离。

答案 1 :(得分:8)

Difference between ASP Net Webforms and ASP Net MVC

图像说明了一切。

更新:添加原始链接以获得完整性。 http://forums.asp.net/t/1528396.aspx?MVC+vs+Web+Forms

答案 2 :(得分:2)

视频教程here有助于描述差异。

答案 3 :(得分:2)

关于你的问题可以说很多。

MVC允许清晰地分离关注点,可测试性和测试驱动开发(TDD)。它支持干净的RESTful URL,并且具有很强的可扩展性......这意味着您可以换出查看引擎,路由机制以及许多其他您可能不喜欢的东西。

有关其他信息,我建议您阅读Dino Esposito的博客文章An Architectural View of the ASP.NET MVC Framework。在这篇文章中,他将经典代码隐藏方法与MVC之间的许多差异进行了比较。

答案 4 :(得分:0)

Asp.Net Web表单:

  1. Asp.Net Web Form遵循传统的事件驱动开发 模型。
  2. Asp.Net Web Form具有服务器控件。
  3. Asp.Net MVC模型:

    1. Asp.Net MVC是一个轻量级的跟随MVC(模型,视图和 控制器)基于模式的开发模型.Asp.Net MVC没有 支持视图状态。
    2. See more..