前面关于webform的博文谈到了Webform的优缺点,但主要集中在性能和易操作性方面.虽然Webform是一次伟大的尝试,但总体上来讲,我觉得不是很成功.除了前面文章所提到的缺陷外,其实从架构和软件工程的角度来说,也是有其不足,甚至可以说是有些倒退的.我们知道,Webform还是基于BS基本架构:HTTP+HTML+JAVASCRIPT+CSS等技术,客户端的呈现是基于服务器端传来的脚本来解释执行的,是一种虚拟机架构风格(解释和基于规则),因此在系统可修改性,可动态升级,可工程化等方面都具有非常大的优势。而Webform的这种架构方式,多多少少与这种优势是相背的。
Webform是一种基于相对比较静态的html脚本输出方式,虽然也可以动态输出html元素,但在操作方面确实非常不变。非常典型的例子是做动态在线编辑,采用何种编辑控件是根据一些业务规则动态生成的,虽然也可以在服务端动态的产生地编辑控件,但会面临一个问题,如果你在load事件里创建控件,虽然可以输出到客户端,控件的状态也会进入ViewState里,但提交回来时,还需要重新产生这些控件,但这个时候新控件并不会自动具有原来控件的状态(无法体现Webform的自动状态管理的优势)。但如果你在初始化事件中创建这些控件,可以输出到客户端,提交回来也可以自动保持原来的状态信息。但问题是在初始化事件中,业务规则很难在这里实现,而且也不易动态改变。我们在进行业务单据的在线编辑开发中,对这种不便体会非常深,虽然最终可以实现,但实现起来感觉非常别扭,而且非常不利于重用和工程化(在BS架构中,动态输出Html控件元素是一种非常重要的手段,动态输出Html控件元素的应用可参考http://blog.csdn.net/hawksoft/article/details/8051420).
WebForm的这些缺点,也决定了其命运,我觉得后面会慢慢被MVC或其它更好的模式取代(其实现在被MVC模式取代的趋势就非常明显).
Webform最大优势就是简单,做一些对性能要求和动态交互要求不是很高,页面复用要求比较低的项目也还是非常方便.
分享到:
相关推荐
微软.Net2.0企业库的WebForm和WinForm的配置方法.zip
SQLite WebForm Demo
webform AJAX DEMO演示代码例子
简单webform仿Winform TabControl标签页 ,用js实现
.net实现webform HTTP文件上传
很多时候Windows程序也需要用到图文并茂的效果,也希望能类似webform中的htmleditor那样,这里提供一位高人写的控件,很好用。
WebForm打印
asp.net中webform 多选下拉框DropDownlist
资源名称:DoNet学习-WebForm视频教程(30集)资源目录:【】7ab37727cfeaf3ac0e59eff10c664831【】WebForm状态_上午1复习页面生命周期复习Transfer【】WebForm状态_上午2ViewState使用以及原理【】WebForm状态_上午...
用WebForm制作的自定义分页控件,可以将数据源分段显示在指定的数据绑定控件上。
c# webform无刷新前后台交互
c#客户服务.net webform 源码
C#基于WebForm的学员管理系统源码.zip
C# webForm 选课管理系统。可正确无误运行。
autofac webform asp.net最好的注入工具
c#售书系统(webform)
包括 分页控件,验证码控件,密码强度检测等,还包含了一个FreeTextBox的源码
18个本人收集的ASP.NET WebForm项目源码,内部包含数据库文件及使用教程,仅供大家学习参考
基于WebForm的操作Word文档实例配套源码
这个留言板项目适合ASP.NET初学者加深对WebForm开发的熟练度,其中初步的涉及到模板页、ADO.NET、用户控件。