开发ASP.NET定制控件

上传人:jiups****uk12 文档编号:45731303 上传时间:2018-06-18 格式:PPT 页数:39 大小:1.60MB
返回 下载 相关 举报
开发ASP.NET定制控件_第1页
第1页 / 共39页
开发ASP.NET定制控件_第2页
第2页 / 共39页
开发ASP.NET定制控件_第3页
第3页 / 共39页
开发ASP.NET定制控件_第4页
第4页 / 共39页
开发ASP.NET定制控件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《开发ASP.NET定制控件》由会员分享,可在线阅读,更多相关《开发ASP.NET定制控件(39页珍藏版)》请在金锄头文库上搜索。

1、开发开发ASP.NETASP.NET定制控件定制控件张炜张炜 开发技术经理开发技术经理 微软(中国)有限公司微软(中国)有限公司讲座主要内容l开发 Web 定制控件l创建控件设计器l控件呈现(Render)l事件处理lHtmlTextWriter 方法l开发组合控件l使用定制控件范例课程目的?l设计定制控件的价值l代码重用l快速页面开发l通过控件,使修改页面更加容易日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控

2、件l定制控件的使用范例什么是 ASP.NET控件?l服务器端Web UI 组件属性,方法, 事件呈现成标注 (HTML, XML, script, etc.)处理 posted 数据和用户行为封装逻辑多种呈现选项l一个控件是一个.NET 类型, 基类是System.Web.UI.Control System.Web.UI.WebControls.WebCont rol页面/控件处理 第一次载入InitInitLoadLoadPreRenderPreRenderSaveViewStateSaveViewStateRenderRenderDisposeDispose实例化每个实例化每个控件控件,

3、, 设置为初始状态设置为初始状态, , 加加 入控件树入控件树运行用户代码运行用户代码, , 测试测试 ! !IsPostBackIsPostBack条条 件来数据绑定到第一批值件来数据绑定到第一批值CreateChildControlsCreateChildControls() () 确保确保控件准控件准 备好被呈现备好被呈现控件存储状态值控件存储状态值( (如果与初始值不同如果与初始值不同) )每个每个控件控件将自身呈现到响应中将自身呈现到响应中释放释放页面和所有控件页面和所有控件页面/控件处理 Post backInitInitLoadLoadPreRenderPreRenderSave

4、ViewStateSaveViewStateRenderRenderDisposeDispose从从ViewStateViewState载入载入控件的上一次状态控件的上一次状态Posted Posted 数据数据 (HTTP (HTTP 表单中表单中) ) 传递到传递到 相应相应控件控件按照在树中的次序触发按照在树中的次序触发控件事件控件事件, , 除除 了导致了导致PostPost的的控件控件. . 它最后触发它最后触发. .LoadViewStateLoadViewStatePostbackPostback data dataPostbackPostback events events两种

5、创建控件的方法l用户控件(页面作为控件)容易创建 是存作 *.ascx的页面支持部分页面缓存用于单个应用缺少设计时支持l定制控件技术要求高一些支持多个应用 (GAC)设计时支持非常强大Web 用户控件与定制控件对比lWeb 用户控件为运行时,动态编译lWeb 用户控件无法添加到工具箱l共享Web 用户控件的唯一方法是将之复制 到另外一个应用程序中l定制控件是所有开发人员都可以使用的可试 化设计工具日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTex

6、tWriter 方法l开发组合控件l定制控件的使用范例创建一个简单的定制控件l从 WebControl 或者 Control 基类继承的 区别l在 Web 应用中,使用定制控件l为控件添加一个定制属性演示 1创建一个简单的定制控件日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控件l定制控件的使用范例演示 2为设计时呈现(Render) 实施一个控件设计器为设计时呈现(Render)实施一 个控件设计器lSyste

7、m.Design.dll 提供了设计时呈现的基 类lOverride GetDesignTimeHtml() 默认的设 计时输出内容l设计时和运行时的 HTML 输出是不同的处 理方式lDesigner 类在控件的属性列表中被指定日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控件l定制控件的使用范例如何使用呈现(Render)方法l从Control类继承时,覆盖Render() 方法l从WebControl类继承

8、时,覆盖 RenderContents() 方法如何使用呈现(Render)方法l控件的默认基本标记是 标签l当创建一个继承类的实例时,需要指定哪个 基类的构造函数需要被调用,例如 base(HtmlTextWriterTag.A) 就是创建 标记l使用 AddAttributesToRender() 方法来为 控件添加 HTML 属性和风格演示 3如何使用呈现(Render) 方法日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter

9、 方法l开发组合控件l定制控件的使用范例ASP.NET 服务器应用触发服务器端事件l将流览器客户事件映射到服务器事件Click!Click!Button1 Button2Checkbox1 Listbox1Button1. .RaisePostBackEventRaisePostBackEvent()()触发触发 OnClickOnClick()()调用事件处理函数调用事件处理函数 Button1_Click()Button1_Click()注册注册控件以接收控件以接收 postbackpostback 事件通知事件通知IPostBackEventHandlerIPostBackEventHa

10、ndlerHTTP HTTP 表单表单 postpost演示 4处理 postback 事件处理 postback 事件lIPostBackEventHandler 定义了 ASP.NET 服务器控件必须实现的方法来处理 postback 事件l定义 click 事件l调用Click事件关联的委托方法l定义 IPostBackEventHandler 的方法来触 发 change 事件处理 postback 事件lPage.GetPostBackEventReference() 获 得一个指向客户端脚本函数的引用,当被调 用时,服务器post back到页面日程lWeb 用户控件与定制控件l创

11、建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控件l定制控件的使用范例演示 5使用 HtmlTextWriter 方法使用 HtmlTextWriter 方法lHtmlTextWriter 具备在不同的HTML版本之 间,自动转换的功能,可以适应不同的浏览 器l多次调用 HtmlTextWriter.Write,比构造一 个复杂的字符串,然后作为参数调用一次, 效率要更高使用 HtmlTextWriter 方法lHtmlTextWriter 方法使

12、得代码可读性和可 用性更高 (一些开发人员,对HTML标记的 细节并不太了解) 日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控件l定制控件的使用范例演示 6开发组合控件开发组合控件lINamingContainer 接口确定容器控件在页 面的对象结构下,创建一个新的名称控件 ID (也就是说,他为某个 .aspx 文件中的所 有控件提供一个唯一的名称控件)lEnsureChildControls() 确定服务器

13、控件是 否包含子控件. 如果不包含, 它将创建子控 件开发组合控件lCreateChildControls() 通知服务器控件创 建它包含的所有子控件日程lWeb 用户控件与定制控件l创建一个简单的 Web 定制控件l为设计时呈现(Render)实施一个控件设计器l如何使用呈现(Render)方法l处理 postback 事件l使用 HtmlTextWriter 方法l开发组合控件l定制控件的使用范例演示 7定制控件的使用范例定制控件的使用范例l通过一些预定义的类,定制控件可以被快速 开发出来, 例如 Table, HyperLink, 以及 Labell可以用 Postback 事件处理来传

14、递客户端可 视化数据到后端数据库l创建配置文件 (例如 topLinks.xml) 为Web 应用维护提供了一种快速并且高效地解决方 案总结lWebControl 类从 Control 继承过来,增 加了一些Web用户控件的通用属性l把控件项目和 Web 应用项目添加到同一个 解决方案中,可以更加容易调试,构建, 以及测试和开发l控件可以添加到工具箱,或者全局程序集 缓冲区(GAC),以便更多的开发人员都 可以使用总结 续l组合控件被编译为一个固定的程序集 (.dll) lHtmlTextWriter 提供了很多实用的方法来 简化 HTML 标记的构造l在客户端Post到服务器时, Raise

15、PostBackEvent 被触发,从而服务 器控件可以进行相应的处理更多的信息lMSDN 中文站点 Windows, the Windows logo, MSDN, Visual Basic .NET, Visual Studio .NET, Microsoft Press, are either registered Microsoft, Windows, the Windows logo, MSDN, Visual Basic .NET, Visual Studio .NET, Microsoft Press, are either registered trademarks or t

16、rademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. and products mentioned herein may be the trademarks of their respective owners.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号