创建服务肯器控件.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * Print this slide for reference. During the talk, show live code * * * * 组合控件 组合控件是 包含其它控件的控件 一起解决常见问题 组合控件必须 为命名空间实现INamingContainer 重载CreateChildControls() 来根据需要创建子控件 子控件管理它们自己的视图状态 CreateChildControls 确保控件树已准备好 PreRender FindControl 在 CreateChildControls 创建子控件, 设置初始属性值 对每个请求给予相同的初始值 在加入控件树之前赋初始值 加入Controls集合 连接事件处理函数 CreateChildControls() protected overrides void CreateChildControls() { TextBox text1 = new TextBox(); text1.ID = text1“; text1.Text = “Text”; RequiredFieldValidator req1 = new RequiredFieldValidator(); req1.ControlToValidate = text1“; req1.Text = *“; Controls.Add(text1); Controls.Add(new LiteralControl(nbsp;)); Controls.Add(req1); } RequiredTextField控件 在VS.Net中开发服务端控件 建立一个Web控件库项目 编辑AssemblyInfo类型 Version TagPrefix 加入一个Web应用来测试控件 Solution-Add New-Web Application 加到ToolBox中 Customize ToolBox-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文件 动态载入 可以有代码 Skinning Controls 设计时支持 创建一个控件设计器 从 System.Web.UI.Design.ControlDesigner继承 与 DesignerAttribute关联 [ Designer(typeof(AspConn.ControlsCS2. ContentRotatorDesigner)) ] public class ContentRotator : WebControl { … } 设计时演绎 设计时必须用HTML表示 (不管在运行时如何演绎) 缺省情形下用Render() 的结果 重载 GetDesignTimeHtml() GetEmptyDesignTimeHtml() 当Render返回空字符串时 GetErrorDesignTimeHtml() 当无法载入控件时 设计时支持 Firing The Client Event Create script reference using Page.GetPostBackClientHyperlink(); Client Implementation: __doPostBack() a href=javascript:__doPostBack(CHl1,)ctl/a protected override void Render(writer) { string eventRef = Page.GetPostBackClientHyperlink(this,””); writer.AddAttribute(HtmlTextWriterAttribute.Href,

文档评论(0)

139****0573 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档