收藏 分享(赏)

.net 自定控件.ppt

上传人:dzzj200808 文档编号:3315091 上传时间:2018-10-12 格式:PPT 页数:39 大小:1.60MB
下载 相关 举报
.net 自定控件.ppt_第1页
第1页 / 共39页
.net 自定控件.ppt_第2页
第2页 / 共39页
.net 自定控件.ppt_第3页
第3页 / 共39页
.net 自定控件.ppt_第4页
第4页 / 共39页
.net 自定控件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

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

2、服务器端Web UI 组件 属性,方法, 事件 呈现成标注 (HTML, XML, script, etc.) 处理 posted 数据和用户行为 封装逻辑 多种呈现选项一个控件是一个.NET 类型, 基类是 System.Web.UI.Control System.Web.UI.WebControls.WebControl,页面/控件处理 第一次载入,Init,Load,PreRender,SaveViewState,Render,Dispose,实例化每个控件, 设置为初始状态, 加入控件树,运行用户代码, 测试 !IsPostBack条件来数据绑定到第一批值,CreateChildCon

3、trols() 确保控件准备好被呈现,控件存储状态值(如果与初始值不同),每个控件将自身呈现到响应中,释放页面和所有控件,页面/控件处理 Post back,Init,Load,PreRender,SaveViewState,Render,Dispose,从ViewState载入控件的上一次状态,Posted 数据 (HTTP 表单中) 传递到相应控件,按照在树中的次序触发控件事件, 除了导致Post的控件. 它最后触发.,LoadViewState,Postback data,Postback events,两种创建控件的方法,用户控件(页面作为控件) 容易创建 是存作 *.ascx的页面

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

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

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

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

8、务器应用,触发服务器端事件,将流览器客户事件映射到服务器事件,Click!,演示 4,处理 postback 事件,处理 postback 事件,IPostBackEventHandler 定义了 ASP.NET 服务器控件必须实现的方法来处理 postback 事件 定义 click 事件 调用Click事件关联的委托方法 定义 IPostBackEventHandler 的方法来触发 change 事件,处理 postback 事件,Page.GetPostBackEventReference() 获得一个指向客户端脚本函数的引用,当被调用时,服务器post back到页面,日程,Web

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

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

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

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

13、isePostBackEvent 被触发,从而服务器控件可以进行相应的处理,更多的信息,MSDN 中文站点 ASP.NET ,Microsoft, Windows, the Windows logo, MSDN, Visual Basic .NET, Visual Studio .NET, Microsoft Press, are either registered 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.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报