MVC与WebForm的简单的比较

MVC与WebForm的简单的比较

ASP 强制程序员将业务逻辑和展示页放到一个文件中

WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写  业务逻辑代码 
MVC将业务逻辑/试图/领域模型   完全分离

url和路由的差别:

WebForm中一个URL就是一个路径,对用一个具体的页面
MVC中,一个URL并不是一个路径,但是我们可以解析这个url,返回对应的view,同时我们可以控制路由的方式,以此来达到动态解析URL的目的

状态保持的区别:

WebForm用的是ViewSate,原理是将实体序列化传到前台,第二次请求的时候将其再次传回后台

MVC的实现方式是:第一次请求的时候从数据库中读取实体,将实体还有Id一起传到前台,第二次请求的时候,将Id传到后台,后台通过Id获取实体,再次传到前台

HTML的渲染的差别:       服务器端控件  和  HTMLHelper

WebForm的实现:是通过服务器端控件来生成HTML(HTML不是程序员自己写出来的)
MVC的实现:MVC希望程序员自己写出HTML,但同时也提供了Rasor/HTMLHelper来帮助程序员更方便的写出HTML

服务器端控件都是基于代码的用来生成HTML的组件,服务器端控件就是继承自特定类的一个子类,
HTMLHelper是公布出的一些扩展方法,你也可以将一些常用的标签自定义到HTMLHelper中

Partial views 代替user controls

Partial views 就像用户控件一样允许我们将View的一部分封装,在不同的中进行重用

Layouts 替代 master pages

我们可以在一个view中声明多个Layout,layout和master page 的主要区别在于layout只是对mvc管道的一个建议,我们可以在任何地方改变layout的赋值,甚至将其删除

写View的语法有多种

Razor并不是唯一的写MVC Views的方式,如果WebForm开发者还不能完全离开WebFrom的开发方式,我们可以用WebForm的语法来写Views,但是你用的只是WebForm的语法,并不是说你在用WebForm框架在做开发,我们还是用的MVC架构在进行开发。

上一篇:MVC和WebForm 中国省市区三级联动


下一篇:cvc-elt.1: Cannot find the declaration of element 'beans'