首页 新闻 会员 周边

关于asp.net 传统开发方式与mvc的比较,欢迎发表意见。

0
[已关闭问题] 关闭于 2010-09-10 11:10

传统开发方式一个很大的好处是自动维护控件在页面之前的状态,如当你在一个页面中输入一些文字,然后再点击一个button,显示的时候文字不会丢失。但是在mvc中如果不手动去维护会出现丢失,同时在传统开发方式中,一些功能可以在一个页面中完成,在mvc中要分几个页面去完成。但是在传统开发方式中会出现一大堆的viewsate,影响性能。欢迎大家发表意见讨论。

lorgine的主页 lorgine | 菜鸟二级 | 园豆:245
提问于:2010-09-06 14:28
< >
分享
所有回答(4)
0

前者是系统在帮你维护,不过生成的代码不优雅,性能也不高,测试也不方便,开发也不敏捷,后来出来了MVC。根据系统需要选择合适的框架。

Astar | 园豆:40805 (高人七级) | 2010-09-06 14:35
是系统在维护。突然觉得在某种程度上说viewstate是一种数据缓存的方式。比如绑定一个dropdownlist,如果是mvc可能需要多次访问数据库,多次绑定。在传统方式中,只需要一次。
支持(0) 反对(0) lorgine | 园豆:245 (菜鸟二级) | 2010-09-06 14:45
@lorgine:怎么会多次绑定呢,一般的应用,在“传统”形式下的回发,到mvc里可以会换成AJAX的形式,这也不会以重新绑定了,再者如果是跳来跳去的页面,相同的数据源我们应该放缓存里或者TempView里。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-09-06 15:27
0

WebForm 是微软把C/S 那一套搬到B/S上面来。Web 本来是无状态的、为了模仿C/S,就加了个ViewState 来维持状态、将一个个动作映射成事件。MVC 更像传统的ASP风格。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-09-06 14:48
是的,所以我想拿出来讨论 这两种的优缺点。
支持(0) 反对(0) lorgine | 园豆:245 (菜鸟二级) | 2010-09-06 15:14
0

各持所长

清风抚柳 | 园豆:205 (菜鸟二级) | 2010-09-06 15:23
0

这里要弄清几点:

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还能用了吗?

microtry | 园豆:205 (菜鸟二级) | 2010-09-06 19:53
我觉得用传统方式开发,但是尽量少用服务器端控件。这样混合开发。
支持(0) 反对(0) lorgine | 园豆:245 (菜鸟二级) | 2010-09-08 10:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册