前面关于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最大优势就是简单,做一些对性能要求和动态交互要求不是很高,页面复用要求比较低的项目也还是非常方便.
分享到:
相关推荐
这个库集合了一系列可重用的组件,旨在简化常见的应用程序开发任务,如数据访问、日志记录、异常处理等。本教程将重点讨论如何在WebForm和WinForm应用中配置这些组件。 首先,我们来看`Web.config`和`App.config`这...
WebForm AJAX 是一种在ASP.NET框架中实现异步更新页面的技术,它允许部分网页内容在不重新加载整个页面的情况下进行更新,从而提供更流畅、更快速的用户体验。本DEMO演示了如何在WebForm中应用AJAX技术,下面将详细...
【标题解析】:“爬虫系列 一次采集.NET WebForm网站的坎坷历程”指的是作者在进行网络爬虫开发时,遇到了一个使用.NET技术构建的WebForm类型的网站,这种类型的网站对于爬虫来说通常存在一定的挑战性。 【描述分析...
在.NET框架中,C# WebForm是一个用于构建交互式Web应用程序的强大工具,它允许开发者创建类似于桌面应用程序的用户体验。在WebForm中实现类似Winform的MsgBox(消息框)功能,可以增强用户与网页的交互性,提供警告...
ASP.NET WebForm是微软开发的一款用于构建Web应用程序的框架,它是.NET Framework的重要组成部分。这个压缩包包含18个ASP.NET WebForm项目的源码,对于学习和理解WebForm的工作原理、开发流程以及数据库交互等方面...
此外,`ModelBinding`或`ViewBag`等技术可以帮助我们在服务器端和客户端之间传递和验证控件的值。 最后,对于文件名列表中的"rl",这可能是误输入或者代表了某种资源链接。如果它是指向一个包含更多信息或示例代码...
ADO.NET是微软提供的一种用于访问数据库的技术,它提供了与数据库交互的全面且强大的工具集。在"WebForm阳光留言板"项目中,开发者可能需要使用ADO.NET来实现与后台数据库的连接,以便存储和检索用户的留言信息。这...
本资源“自定义WebForm控件集”显然是一系列定制的ASP.NET控件,旨在提高开发效率和用户体验。下面我们将深入探讨其中涉及的三个主要控件:分页控件、验证码控件和密码强度检测控件,以及FreeTextBox的源码。 1. **...
在.NET框架中,WebForm是一种基于ASP.NET技术的网页开发模型,它允许开发者构建动态、交互式的Web应用程序。本文将详细讲解如何在WebForm中实现FTP(File Transfer Protocol)文件上传,以及涉及到的相关知识点。 ...
在.NET框架中,WebForm是ASP.NET的一种编程模型,它允许开发者创建动态的、交互式的网页应用。在WebForm中,HTML Editor控件是一个非常重要的组件,它为用户提供了富文本编辑的功能,使得用户能够在客户端进行图文...
ASP.NET WebForm是微软开发的一款用于构建动态网站的应用程序框架,它提供了丰富的控件和事件驱动模型,为开发者提供了直观的编程体验。本教程针对初学者,旨在深入浅出地讲解如何在WebForm中结合Entity Framework 6...
SignalR是微软推出的一个实时通信库,支持WebSocket、Long Polling等多种协议,可以方便地实现在C# WebForm中的双向通信。SignalR允许服务器主动推送数据到客户端,这在实时性要求高的应用场景中非常有用,比如聊天...
JQueryEasyUI是一个基于jQuery的UI框架,它封装了一系列的JavaScript组件,使得开发者能够轻松创建出功能丰富的Web应用程序界面。这个WebForm控件库是专门为.NET平台设计的,旨在简化.NET开发人员在WebForm上的工作...
ActiveX是微软提出的一种技术,允许在Web页面中嵌入并运行Windows组件。虽然不常用且存在安全性问题,但在某些情况下,可以创建一个ActiveX控件来封装WinForm的功能,然后在WebForm中通过JavaScript或VBScript调用。...
3. **C#**:C#是微软开发的一种面向对象的编程语言,广泛用于Windows、Web和移动应用开发。在本项目中,C#用于编写BLL和DAL,处理业务逻辑和数据库操作。 4. **数据库设计**:数据库是任何后台管理系统的核心,它...
需要注意的是,由于文档中的部分文字是通过OCR扫描技术识别出来的,因此可能会有一些字识别错误或遗漏。在理解这些步骤时,应根据上下文进行适当的调整,以确保操作的正确性。 发布WebForm应用程序到IIS服务器是...
通过对这些案例的分析和实践,读者不仅可以掌握C# WebForm的基本操作,还能深入理解ASP.NET框架的工作原理,为进一步学习更复杂的Web开发技术奠定基础。无论是初学者还是有经验的开发者,都可以从中受益匪浅。因此,...
这个应用程序很可能是一个客户服务平台,它利用WebForm技术来构建用户界面,为客户提供在线支持和服务。 【描述】"c#客户服务.net webform 源码"说明了该程序的核心功能是客户服务,可能是为了实现企业与客户之间的...
【C# WebForm 选课管理系统】是一种基于微软.NET Framework平台开发的Web应用程序,它采用C#编程语言和ASP.NET的WebForm技术构建。WebForm是ASP.NET框架的一部分,允许开发者通过事件驱动的方式构建动态网页,类似于...
在.NET框架中,WebForm是一种常见的网页开发技术,它允许开发者构建交互式的Web应用程序。本实例主要探讨如何在WebForm环境中操作Microsoft Word文档,实现对Word文档的创建、读取、修改和保存等功能。这个配套源码...