我知道MVC是什么,我在webforms中工作,但我不知道MVC会有多么不同。我猜模型背后的代码会有所不同。那么它会像webforms一样减去背后的代码,而是将它放在控制器中吗?
我看到还有其他相关帖子,但我不是他们解决这个问题。
答案 0 :(得分:13)
对于初学者,MVC不使用< asp:control>控制,优先于良好的旧标准<输入>等。因此,您不会将“事件”附加到像在ASP中一样在代码隐藏中执行的控件。它依赖标准的http POST来做到这一点。
它不使用viewstate对象。
它允许更智能的url映射,虽然现在路由命名空间已被分离,我想知道它是否可以用于WebForms?
自动化测试Web部件要容易得多。
它允许更容易地将UI逻辑与“后端”组件分离。
答案 1 :(得分:8)
答案 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表单:
Asp.Net MVC模型: