新足迹

 找回密码
 注册

精华好帖回顾

· 爱吃凉粉的进来~~~ (2005-8-23) liz · 我刚来澳洲时摔的一跤 (2004-12-10) astina
· Go Set A Watchman 哈珀•李 “设立守望者” —— 被杀死的知更鸟? (2015-8-1) chatchat · 日本7回目 (2019-3-13) joaquin
Advertisement
Advertisement
查看: 2948|回复: 57

asp.net mvc对复杂object的model binding痛苦死了 [复制链接]

发表于 2011-2-1 13:20 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好象template是现在唯一的一条路可以走,非常繁琐,很不喜欢,i'm missing web form now.   

http://bradwilson.typepad.com/bl ... 1-introduction.html
Advertisement
Advertisement

2010年度奖章获得者

发表于 2011-2-1 14:08 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大哥, 这是3年前的东西了, 现在语法都有改进了。

发表于 2011-2-1 14:19 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-2-1 15:08 发表
大哥, 这是3年前的东西了, 现在语法都有改进了。


IModelBinderProvider in mvc3?
头像被屏蔽

禁止发言

发表于 2011-2-1 14:25 |显示全部楼层

貌似mvc就是个market brand

此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
目前没啥实用价值,不懂得说

发表于 2011-2-1 14:33 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-2-1 15:25 发表
目前没啥实用价值,不懂得说


我也在学习中,没法评价

2007 年度奖章获得者

发表于 2011-2-1 14:36 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
MVC 看了一下,太复杂。而且aspx页面里面有很多C# code,看起来很乱,和classic ASP差不多了。

还是web form简单明了,而且也可以实现MVC。
Advertisement
Advertisement

发表于 2011-2-1 14:41 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 coolioo 于 2011-2-1 15:36 发表
MVC 看了一下,太复杂。而且aspx页面里面有很多C# code,看起来很乱,和classic ASP差不多了。

还是web form简单明了,而且也可以实现MVC。


razor作view会好很多

发表于 2011-2-1 14:48 |显示全部楼层
此文章由 ahwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ahwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我相信用过mvc的人不会再考虑用web form的。
干净紧凑的html代码以及对html代码的完全控制、清晰的逻辑分层和可测试性,web form都相形见拙。

评分

参与人数 2积分 +4 收起 理由
kanjunhai + 2 我很赞同
jerryclark + 2 我很赞同

查看全部评分

2007 年度奖章获得者

发表于 2011-2-1 14:51 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
恩,MVC看得还不是很深入。MVC理论还是比较严谨的

2007 年度奖章获得者

发表于 2011-2-1 14:54 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
web form也可以做到代码很干净,层次清晰。其实web form比MVC更自由,想怎么写都可以,所以就比较容易写出层次混乱的代码。

MVC用框架把你固定住了,你只能按照框架写代码。出来的东西自然比较规矩。
C.B

发表于 2011-2-1 14:55 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 ahwen 于 2011-2-1 15:48 发表
我相信用过mvc的人不会再考虑用web form的。
干净紧凑的html代码以及对html代码的完全控制、清晰的逻辑分层和可测试性,web form都相形见拙。


postback到server这边的model binding是最messy的一块,如果用到复杂object的collection和partial view, 再加上client side html element manipulation,再想做model binding就很不容易,不过直接从httpcontext里面取data,手工populate就是另说了。
Advertisement
Advertisement

发表于 2011-2-1 14:59 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 coolioo 于 2011-2-1 15:54 发表
web form也可以做到代码很干净,层次清晰。其实web form比MVC更自由,想怎么写都可以,所以就比较容易写出层次混乱的代码。

MVC用框架把你固定住了,你只能按照框架写代码。出来的东西自然比较规矩。


webform你不用考虑server side object state recoverage和html rendering, mvc这两块比webform差远了。

发表于 2011-2-1 15:04 |显示全部楼层
此文章由 ahwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ahwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
web form生成的html代码,尤其当你用到GridView或User Control的时候,简直惨不忍睹。基于event的模型根本就是windows form那边生硬搬来的,不得不加了很多东西在viewstate里,每次都要随着页面postback,完全违反了web page request的stateless的特性。

MVC的每一层都可以写的很灵活,代码易读性、易维护、易测试。
Model Binding如果精心设计,可以很巧妙、很简单地实现,包括Array之类复杂数据,都有简单明了的实现方式。Templates更可以令ASPX或者csshtml也很DRY

发表于 2011-2-1 15:08 |显示全部楼层
此文章由 ahwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ahwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-1 15:59 发表


webform你不用考虑server side object state recoverage和html rendering, mvc这两块比webform差远了。

MVC也不用考虑state recovery,model binding就自动做了。 其实根本不应该考虑,因为web page是stateless的。
作为一个Web developer,怎么可以不考虑html rendering呢?

发表于 2011-2-1 15:16 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 ahwen 于 2011-2-1 16:04 发表
web form生成的html代码,尤其当你用到GridView或User Control的时候,简直惨不忍睹。基于event的模型根本就是windows form那边生硬搬来的,不得不加了很多东西在viewstate里,每次都要随着页面postback,完全违反了web page r ...


你看看mvc生成的html,如果你想model binding回去,它的id和name跟web form一模一样的,html 整体结构可能干净点.而且mvc加很多自己的html attribute,严格意义来说,根本通不过html validator的,不过browser比较容忍它就是了。

发表于 2011-2-1 15:18 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 ahwen 于 2011-2-1 16:08 发表

MVC也不用考虑state recovery,model binding就自动做了。 其实根本不应该考虑,因为web page是stateless的。
作为一个Web developer,怎么可以不考虑html rendering呢?


我们可以关注少些,而不是像mvc那种大多数情况下要手工render的,