创建服务器控件
创建服务器控件
议 顾架构 口创建服务器控件 控件属性 触发事件 使用客户端脚本 重载 Render 组合控件
议程 回顾架构 创建服务器控件 ◼ 控件属性 ◼ 触发事件 ◼ 使用客户端脚本 ◼ 重载Render ◼ 组合控件
ASPNE中的控件
ASP.NET中的控件
什么是 ASPNET控件? 口服务器端WebU组件 属性,方法,事件 演绎成标注(HTML,XML, script,etc.) 处理 posted数据和用户行为 封装逻辑 多种演绎选项 口一个控件是一个NET类型,基类是 System. Web UI Control System. Web UI. WebControls Web Control
什么是 ASP.NET控件? 服务器端Web UI 组件 ◼ 属性,方法, 事件 ◼ 演绎成标注 (HTML, XML, script, etc.) ◼ 处理 posted 数据和用户行为 ◼ 封装逻辑 ◼ 多种演绎选项 一个控件是一个.NET 类型, 基类是 ◼ System.Web.UI.Control ◼ System.Web.UI.WebControls.WebControl
两种创建控件的方法 口用户控件(页面作为控件 容易创建-是存作*ascx的页面 支持部分页面缓存 用于单个应用 缺少设计时支持 口定制控件 技术要求高一些 支持多个应用(GAC) 设计时支持非常强大
两种创建控件的方法 用户控件(页面作为控件) ◼ 容易创建 – 是存作 *.ascx的页面 ◼ 支持部分页面缓存 ◼ 用于单个应用 ◼ 缺少设计时支持 定制控件 ◼ 技术要求高一些 ◼ 支持多个应用 (GAC) ◼ 设计时支持非常强大
基于Tag的存储 口运行时解析Tags 创建控件实例 ■设置属性初始值 命名空间引实对1设置 liststyle属性艮务器控件 first item second item third item k/Items 对H设置ems属性
基于Tag的存储 运行时解析Tags ◼ 创建控件实例 ◼ 设置属性初始值 first item second item third item 命名空间引用Class to create 实例对IDl1设置 liststyle 标记作为属性服务器控件 对l1设置 Items属性
运行时使用控件 口控件是代码中的NE对象 口在页面事件中处理控件 Page_Load, Button_cick,等等 void page_Load (object send, EventArgs e)t 11.tems.Add(“ fourth item”); 11. Forecolor Color Blue;
运行时使用控件 控件是代码中的.NET 对象 在页面事件中处理控件 ◼ Page_Load, Button1_Click, 等等. void Page_Load(object send, EventArgs e) { l1.Items.Add(“fourth item”); l1.ForeColor = Color.Blue; }
页面/控件处理 第一次载入 实例化每个控件,设置为初始状态,加 入控件树 Init 运行用户代码,测试! pOstbAck条 Load 件来数据绑定到第一批值 PreRender| Create Child Controls0确保控件准 Save ViewState 备好被演绎 控件存储状态值(如果与初始值不同) Render 每个控件将自身演绎到响应中 Dispose 释放页面和所有控件
页面/控件处理 第一次载入 Init Load PreRender SaveViewState Render Dispose 实例化每个控件, 设置为初始状态, 加 入控件树 运行用户代码, 测试 !IsPostBack条 件来数据绑定到第一批值 CreateChildControls() 确保控件准 备好被演绎 控件存储状态值(如果与初始值不同) 每个控件将自身演绎到响应中 释放页面和所有控件
页面/控件处理 Post back Init Load viewstate 从 viewstate载入控件的上一次状态 Load Posted数据(HTTP表单中)传递到 相应控件 Postback data 按照在树中的次序触发控件事件,除 Postback events 了导致Post的控件.它最后触发 PreRender Save viewState Render Dispose
页面/控件处理 Post back Init Load PreRender SaveViewState Render Dispose 从ViewState载入控件的上一次状态 Posted 数据 (HTTP 表单中) 传递到 相应控件 按照在树中的次序触发控件事件, 除 了导致Post的控件. 它最后触发. LoadViewState Postback data Postback events
控件属业
控件属性