您的当前位置:首页正文

基于ASP.net的服务器控件设计

来源:好兔宠物网
维普资讯 http://www.cqvip.com 怯鱼技术 墓子ASP.^Bt的服备器控件设计 陈 燕1,2 (1.苏州大学计算机科学与技术学院,江苏苏州 215006;2.苏州经贸职业技术学院信息系,江苏苏州 215031) ’ ●● 摘要:ASP.NET服务器控件是在服务器上运行并封装用户 界面及其他相关功能的组件。这些服务器控件在ASP.ET页和 NASP.ET代码隐藏类中使用。其运行在服务器端,经过服务器端 N某些程序的解析再生成标准的HTML代码显示在我们的浏览器 ASP.net的纽件模型一基千IE6的优化 +.. …... ., ..… ,.…....…….…....i 服务器端 上。设计自定义服务器控件的意义:提高代码重用率,方便快速开 发,以及程序升级维护。 关奠宇:服务器控件 序列化 回传(PostBack) 事件冒泡 1 ASP.net服务器控件 在asp.net中,(传统意义上)可供你开发的控件实际上有两 种:Custom Control和User Controlo Custom Control是纵向的,是对 系统本身控件的继承和扩充,在程序中以DLL文件形式存在, UserControl则是横向的,是对系统本身控件的组合,在系统中以. ascx为后缀名。这两种控件功能相同,都可以为开发人员提供可 复用的可视化uI组件,相比之下前者具有更大的灵活性,同时开 发起来比较复杂,而后者容易开发,但可重用性就比较差。一般来 说用户会先用User Control来开发,只有当其不堪重用的时候才 转而使用Custom Controlo ASP.net服务器控件的架构模型 (1)常规模型(见图1) ASP.net的组件模型 服务器端 自.定义J|{务器l撺什 浏览器客, 端 图l (2)基于IE6的优化模型(见图2) 此模型是前一模型的改进,客户端需要ie6的支持。该模型 将描述控件外观和行为逻辑移到客户端,由M 来组合相关 htm1.这样做的好处是既减轻服务端的负荷,也减轻了网络传输的 负荷,同时,由于控件界面逻辑由客户端实现,所以显示速度较 快。 2几个重要的基本概念 2.1序列化 序列化是将对象转换为容易传输的XML格式的过程。例如, 可以序列化—个对象为XML数据,然后使用H-】 rP通过]nternet 10 自.定义服务器挖件 IE6书 蹦 …… .…….: 图2 在客户端和服务器之间传输该对象。在另一端,反序列化将从该 xML流重新构造对象。 2.2回传(PostBack) 每次服务器控件的事件引发的页面刷新前都会发生一次页 面回传。 2.3事件冒泡 ASP:NET页框架提供一种称为“事件冒泡”的技术,允许子控 件将事件沿其包容层次结构向上传播。事件冒泡允许在控件层次 结构中更方便的位置引发事件,并且允许将事件处理程序附加到 原始控件以及公开冒泡的事件的控件上。 3 ASP.net服务器控件的服务器端事件的触发原理 WebControh中的Button和H ̄nloCntmls中的Type为 的HtmlInputButton。 HtmlControls中的Type为buRon的HImilnputButton和其它 所有的控件事件,比如 ̄nkBuRon点击,TextBox的Cll婚事件 等等: 4 ASP.net服务器控件的状态值维持机制 ViewState是一种机制,ASP.NET使用这种机制来跟踪服务器 控件状态值,否则这些值将不作为HTrP窗体的一部分而回传。 例如,由Label控件显示的文本默认情况下就保存在View ̄ 中。作为开发人员,您可以绑定数据,或在首次加载该页面时仅对 Label编程设置一次,在后续的回传中,该标签文本将启费扶 ViewState中重新填充。因此,除了可以减少繁琐的-r@ ̄fCm#l,., ViewState通常还可以减少数据库的往返次数。 ViewState确实没有什么神秘之处,它是由ASP.NET页面框 架管理的一个隐藏的窗体字段。当ASP.NET执行某个页面时,该 页面上的ViewState值和所有控件将被收集并格式化成—个编码 字符串,然后被分配给隐藏窗体字段的值属性(即<input type=hidden>)。由于隐藏窗体字段是发送到客户端(下转89页) 维普资讯 http://www.cqvip.com 2007年(第36卷)第3期 管理斜孥 的系统也不尽相同,但总起来讲。主要应当包括以下几个系统: 心,各项服务更加周到。而技术防范正是适应人们的这种要求,切 2.1门禁防卫系统 实减少区域发案、完善社区服务功能的有效手段。但由于传统的 是指对小区出入口进行智能管理,住户、物业管理者、保安等 人防、物防模式在人们的心目中形成了思维定式,认为小区门口 人员配发不同的感应卡,在出入小区时,将有关资料输入其中,对 有大门,内有治安巡逻队,家中装了铁门铁窗,保险系数很高,思 应正确后方可进出。该系统可以同楼宇可视对讲系统及其他报 想上容易产生麻痹大意。还有的是由于小区面积较大,建筑布局 警系统相结合,有效地对进出小区的人员进行“过滤”。 复杂,传统的“人防”很难到位,再加上由于市场经济大潮的冲击, 2.2小区周界监控报警系统 传统意义上的治保积极分子越来越难以组织发动,义务巡逻越来 就是在小区周界布设可调式变焦摄像机或在照明条件差的 越少。同时,犯罪分子也变得越来越凶狠和狡猾,他们一方面直接 区域布设红外监控摄像机,监控小区的周边环境,并在小区周界 使用暴力或撬盗工具,将防盗门窗破坏后入室作案,另一方面,犯 的栅栏上安装红外对射报警探测器,当有可疑情况出现时,报警 罪手段渐趋智能化、技能化,犯罪分子也在对防盗门、窗、护栏等 器和摄像机自动报警并进行摄录,管理人员通过室内监控设备获 进行研究,有的还使用技术手段和专用工具撬盗入室等等。一些 知警情,及时通知保安、管理中心或公安机关的接警系统。 地方的封闭小区仍然发生可防性案件,特别是入室盗窃、抢劫等 2.3住户和其他场所防盗报警系统 案件,原因正在于此。凡此种种情况都需要人们从传统的防范思 为了确保小区内住户的安全,可在住户室内安装红外报警探 维中走出来,拓宽防范视野和渠道,将技术防范看作是适应社会 测器,烟感探测器,可燃气体泄露报警探测器,紧急求助装置等。 发展和遏制犯罪的有效措施,明确技术防范的概念、运作方式和 2.4楼宇非可视对讲和可视对讲系统 功能上的优越性,从而大力加以推广和运用。作为公安机关、保安 是指对来访人员与住户之间提供双向通话或可视通话,并由 服务业和小区物业管理部门,就要积极向住户和业主进行宣传动 住户遥控防盗门开关,或向小区管理中心紧急报警的一种安全防 员,使大家认识到技术防范的重要性和所带来的好处,从而能够 范系统,适用范围比较广,别墅、公寓和小区住宅均可。 自觉参与和支持社区的技术防范工作。 2.5停车场管理系统 3.2社区技术防范要尽可能形成网络 现在,由于城市居民中拥有私家车的人越来越多,机动车的 要不断拓宽社区技术防范的功能,使其同新兴的社区服务相 停放和保管显得越来越重要。目前,可用于停车场管理的技术系 结合,使防盗、报警、防火、求助的功能集于一套系统之中。小区与 统主要有:远距离感应式ID卡技术和电脑技术,以及一些高档车 小区之间的技术防范系统也不能各自为政,而要尽可能实施联 辆本身自有的防盗感应报警系统,和GPS卫星定位防盗系统等。 网,以使各种资源得到最大优化。有条件的社区,还可以将这些系 2.6电子巡更管理系统 统与网络公共信息服务相联接,使用户通过局域网快捷地实现同 是利用先进的接触存取技术,对小区内的保安或物业管理人 管理中心之间各种信息的交互。这就要求各地的城市规划、房地 员的工作进行有效管理和监督的管理系统,也就是电子签到方 产开发、物业管理和公安等部门,在城市规划、建设、开发、管理的 式。它是由保安或管理人员持储存有本人基本信息的巡查信息 过程中,能够协调一致,通盘考虑,将社区技术防范建设纳入社会 钮,定时到规定线路碰触管理信息机,该管理信息机迅速将巡查 治安综合治理的大格局之中,在基础设施、硬件建设和13常管理 信息上传到管理终端,终端再以图文方式指示巡查人员到达何处 维护中,科学规划,加大投入,真正做到花钱买平安。 巡查,或告知需要处置的事项。该系统可以强化保安或管理人员 3.3正确处理好人防、物防、技术三者之间的关系,协调发展、互相 的工作责任心,以技防促进了人防。 促进 2.7火灾报警系统 人防、物防、技防是互为补充,互相促进的,单纯地只抓某一 是指对社区的重点部位、危险部位或者居民家等容易发生火 项防范,就达不到应有的效果。人防是积极的防范措施,但受到人 灾的部位,安装的具有探测、报警、控制、联动、灭火减灾等功能的 力和值巡时间、范围的限制,以及保安或管理人员的责任心的影 技术防范措施。 响,必然会存在死角和漏洞。而物防如防盗门、窗、栅栏、保险柜 2.8社区工作人员的技术装备 等,是一种静态的被动预防,容易受到犯罪分子的破坏,而且在遭 主要包括警用科技装备、先进的指挥设备等。 受破坏时也不能及时报警。而技防也有其局限性,易受客观条件 此外,还有多媒体技术,生物识别技术等,都可以为社区技术 的制约。因此,只有把人防、物防和技防三者有机地结合起来,全 防范提供强大的技术支撑。而正在兴起的智能建筑和智能小区也 面协调发展,充分发挥各自的优势,互为补充,才能构成社区安全 为技术防范提供了广阔的平台。 防范的立体网络,最大限度地减少社区内的发案。 3加强社区警务战略中技术防范建设需要注意的几 3.4技术防范要因地制宜,不能贪大求洋 个问题 由于我国城市的结构和类型各不相同,经济发展水平也不平 衡,社区建设的模式也有差异。因此,在社区技术防范建设上,要 实践充分证明,技术防范在社区的安全防范中有着独特而高 根据本地、本区的实际,设计规划一种防范效果好便于管理和维 效的作用,是社区安全防范的有效载体,在技术防范建设中,应当 护的模式。特别是中小城市,要充分考虑到前期投入和后期运转、 注重解决好以下几个问题: 维护等的经济承受能力,选择使用一种既经济又灵敏方便的技防 3.1充分认识技术防范的重要作用 系统,而不能盲目追求“新”和“全”,造成不必要的浪费或后期无 近年来,随着社会的不断进步,城市建设飞速发展,大面积的 法运转。另外,资金来源也是制约技术防范大力发展的—个瓶颈, 住宅楼群拔地而起,与之相配套的物业管理小区方兴未艾,人们 需要认真加以研究。 在追求居住环境舒适、优雅的同时,也迫切希望能够住得安全、放 (上接10页)的页面的一部分,所以ViewState值被临时存储在客 率,方便程序的升级和维护,对程序员来说,可以减轻烦琐的工 户端的浏览器中。如果客户端选择将该页面回传给服务器,则 作。但在开发服务器控件的过程中,要不断分析实时性能否满足 ViewState字符串也将被回传。回传后,ASP.NET页面框架将解析 要求。本文的分析方法对于在ASP.net中开发服务器控件的程序 ViewState字符串,并为该页面和各个控件填充ViewState属性。然 员具有借鉴意义。 后,控件再使用ViewState数据将自己重新恢复为以前的状态。 {一}考文献: 【1】【美】马丁.敏捷软件开发一原则、模式与实践【J】.清华大学出版社, 5结束语 2003.9. 在ASP.net中自定义服务器控件,优点是可以提高代码重用 【2】李世东.ASP.NET之精通弹出窗口U】.Web技术中文网,2005.12. 

因篇幅问题不能全部显示,请点此查看更多更全内容