ASP.NET 之 WebForm VS MVC

WebForm 特性

1:事件驱动编程模型
恐怕最直观的体验就是 服务端控件 即 runat=”server”。
1.1 runat=”server” 其实只是给开发着提供了一个假象,前台即后台的假象.但事实却并非如此.
它的实现同样是通过POST的提交的方式把表单数据提交给服务器,这就是为什么服务端控件(也就是加了runat=”server”)控件为什么要放到内部,否则编译是不通过的原因。
1.2 另外普通html标签加上 runat=”server” 之后,VS 会自动在后台自动生成(在对应的 .aspx.designer.cs 文件当中)与之相对应的保护成员控件字段,该字段的作用是让开发者很方便的直接使用该标签.而不是通过使用Request.Form[“ControlName”]来获取.相比之下加上runat=”server”开发的效率可能会更高,但这也给开发者对Http协议驱动下的编程模型蒙上了一层纱。
1.3 事件驱动的功臣 VIEWSTATE ,它实际上使用了服务端空间数据驻留机制,说白了就是 让服务端空间的状态值一直往返于浏览器服务器之间,这就是你在看服务端响应的HTML时附带的隐藏域内的值。那么问题来了,我真的要每次请求都要让这么大的数据往返于B/S的两端吗?

MVC特性

1:更加接近HTTP原生驱动编程模型的编程框架。

你可能感兴趣的:(mvc,webform)