




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创建服务器控件 议程 回顾架构创建服务器控件控件属性触发事件使用客户端脚本重载Render组合控件 ASP NET中的控件 什么是ASP NET控件 服务器端WebUI组件属性 方法 事件演绎成标注 HTML XML script etc 处理posted数据和用户行为封装逻辑多种演绎选项一个控件是一个 NET类型 基类是System Web UI ControlSystem Web UI WebControls WebControl 两种创建控件的方法 用户控件 页面作为控件 容易创建 是存作 ascx的页面支持部分页面缓存用于单个应用缺少设计时支持定制控件技术要求高一些支持多个应用 GAC 设计时支持非常强大 基于Tag的存储 运行时解析Tags创建控件实例设置属性初始值 firstitemseconditemthirditem 运行时使用控件 控件是代码中的 NET对象在页面事件中处理控件Page Load Button1 Click 等等 voidPage Load objectsend EventArgse l1 Items Add fourthitem l1 ForeColor Color Blue 页面 控件处理第一次载入 Init Load PreRender SaveViewState Render Dispose 实例化每个控件 设置为初始状态 加入控件树 运行用户代码 测试 IsPostBack条件来数据绑定到第一批值 CreateChildControls 确保控件准备好被演绎 控件存储状态值 如果与初始值不同 每个控件将自身演绎到响应中 释放页面和所有控件 页面 控件处理Postback Init Load PreRender SaveViewState Render Dispose 从ViewState载入控件的上一次状态 Posted数据 HTTP表单中 传递到相应控件 按照在树中的次序触发控件事件 除了导致Post的控件 它最后触发 LoadViewState Postbackdata Postbackevents 控件属性 属性处理 控件类型属性作为控件的特性出现属性可以 类型成员存储在ViewState中 EventLog控件 触发事件 SimpleLinkButton 往SimpleLabel控件加入事件将流览器客户事件映射到服务器事件用Page GetPostBackClientHyperLink 产生Postback实现IPostBackEventHandler ASP NET服务器应用 触发服务器端事件 将流览器客户事件映射到服务器事件 Click SimpleLinkButton 客户端脚本 HoverLabel控件 增加客户端hover和cursor效果使用Page RegisterStartupScript来演绎加入的脚本设置一个特定的版本AssemblyVersion特性 未在演示中 将脚本放在一个共享的地方 aspnet client assembly version script js 客户端脚本支持 提供EnableClientScript属性使用BrowserCapabilities来确定流览器是否支持脚本Page Request Browser EcmaScriptVersion在OnPreRender时作此检验因此检验不在设计模式时进行 HoverLabel 重载Render ProgressBar控件 演绎成HTML表从WebControl继承 免费 获取许多实现VS NET中的设计器支持重载Render 重载Render OverrideRenderprotectedoverridevoidRender writer Write Text 或者只是内容的演绎 protectedoverridevoidRenderContents foreach ListItemliinItems RenderListItem output li 演绎属性 从WebControl继承的控件在开始标记中演绎风格属性基本的uplevel downlevel风格支持也可以增加新的属性protectedoverridevoidAddAttributesToRender addanotherattibuteforthebegintagwriter AddAttribute type square base AddAttributesToRender writer ProgressBar 组合控件 组合控件 组合控件是包含其它控件的控件一起解决常见问题组合控件必须为命名空间实现INamingContainer重载CreateChildControls 来根据需要创建子控件子控件管理它们自己的视图状态 CreateChildControls 确保控件树已准备好PreRenderFindControl在CreateChildControls创建子控件 设置初始属性值对每个请求给予相同的初始值在加入控件树之前赋初始值加入Controls集合连接事件处理函数 CreateChildControls protectedoverridesvoidCreateChildControls TextBoxtext1 newTextBox text1 ID text1 text1 Text Text RequiredFieldValidatorreq1 newRequiredFieldValidator req1 ControlToValidate text1 req1 Text Controls Add text1 Controls Add newLiteralControl RequiredTextField控件 在VS Net中开发服务端控件 建立一个Web控件库项目编辑AssemblyInfo类型VersionTagPrefix加入一个Web应用来测试控件Solution AddNew WebApplication加到ToolBox中CustomizeToolBox Browse 使用RequiredTextField控件 总结 控件提供了抽象重用ASP NET提供了丰富的控件框架在Posts之间保持状态处理Post事件从脚本处获得客户端处理能力从现有的ASP NET控件继承 使用模板 模板化控件 定制控件外观实现ITemplate模板初始化由Parser进行ITemplate InstantiateIn控件通常会实现INamingContainer载入模板缺省模板 控件内部所有内联模板 控件内定义动态载入 使用模板 ForumRepeater Repeater新的属性内部数据绑定模板实现定制的ItemTemplate可重载初始值 使用模板 控件Skinning Skinning控件 不包含UI Markup由Skin控制控件标签 XML HTML 等等 控件UI 标签布局 一个skin文件是一个 ascx文件动态载入可以有代码 SkinningControls 设计时支持 创建一个控件设计器 从System Web UI Design ControlDesigner继承与DesignerAttribute关联 Designer typeof AspConn ControlsCS2 ContentRotatorDesigner publicclassContentRotator WebControl 设计时演绎 设计时必须用HTML表示 不管在运行时如何演绎 缺省情形下用Render 的结果重载GetDesignTimeHtml GetEmptyDesignTimeHtml 当Render返回空字符串时GetErrorDesignTimeHtml 当无法载入控件时 设计时支持 FiringTheClientEvent CreatescriptreferenceusingPage GetPostBackClientHyperlink ClientImplementation doPostBack ctl protectedoverridevoidRender writer stringeventRef Page GetPostBackClientHyperlink this writer AddAttribute HtmlTextWriterAttribute Href eventRef writer RenderBeginTag HtmlTextWriterTag A RenderContents writer writer RenderEndTag ProcessingTheServerEvent ControlmustimplementIPostBackEventHandlerPagecallscontrol sRaisePostBackEvent method publicclassSimpleLinkButton SimpleLabel IPostBackEventHandler void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年外贸业务实操大赛试题集与解答指南
- 生猪繁殖性能提升方案
- 桥梁支撑与荷载分配方案
- 生猪养殖场通风系统优化方案
- 面包生产过程中的卫生管理
- 室内装修施工技术方案
- 物流运输企业组织架构及岗位职责
- 高速公路智能交通系统2025年智能检测与预警技术分析报告
- 猪场气温与湿度监控方案
- 房屋工程施工中现浇模板施工技术的探讨
- 铁路专项病害课件
- 开学安全教育课件
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 2025-2026学年人教版(2024)初中化学九年级上册教学计划及进度表
- 日本设备销售合同范本
- (2024)大学生宪法知识竞赛题库及答案
- 2025山西阳泉平定县从社区专职网格员中选聘社区专职工作人员考试备考试题及答案解析
- 高中英语3500词汇表
- 《绣球》课件
- 遥感图像的目视判读
- 轧制原理-PPT课件
评论
0/150
提交评论