前者是系统在帮你维护,不过生成的代码不优雅,性能也不高,测试也不方便,开发也不敏捷,后来出来了MVC。根据系统需要选择合适的框架。
WebForm 是微软把C/S 那一套搬到B/S上面来。Web 本来是无状态的、为了模仿C/S,就加了个ViewState 来维持状态、将一个个动作映射成事件。MVC 更像传统的ASP风格。
各持所长
这里要弄清几点:
1、Asp.Net WebForm和Asp.net MVC都跟MVC的设计模式是两回事,整个项目的MVC体系都是需要精心设计的,绝不是什么现成拿来可以用的;
2、Asp.Net MVC提供的支持更少,是忽悠Java程序员转到.net平台的,也就是说,对于有着成熟MVC架构的Java程序开发组织,可以比较容易迁移到.Net平台;
3、.Net程序员要做MVC的话,WebForm是首选,将获得更多的支持,如果你已经强大到不依赖WebForm,那么用Asp.netMVC也是多此一举
4、以下代码是微软Asp.NetMVC的示例代码,却百分百不是MVC的:
1 <div class="editor-label">
2 <%= Html.LabelFor(m => m.UserName) %>
3 </div>
试想一下:View怎么会知道Model的存在呢?不仅如此,这个View还知道Model的细节
5、更不可思议的是,再看看AccountController.cs的代码:
if (MembershipService.ValidateUser(model.UserName, model.Password))
Controller居然也知道Model的细节!
谁能告诉我,如果修改或替换Model,这个View和Controller还能用了吗?