- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章创建用户定制控件概要
第7章创建用户定制控件 第7章创建用户定制控件 7.1 用户控件 7.2 自定义控件 7.1 用户控件 7.1.1 用户控件基本知识 用户控件就是把HTML标记和 Web 服务器控件封装在一起,从而可以重复使用的一个单元。 与ASP.NET页面不同之处: 指令不同:用户控件包含Control指令,而ASP.NET页面包含Page指令。 扩展名不同:用户控件的文件扩展名为.ascx,而ASP.NET页面文件的扩展名为.aspx。 7.1.1 用户控件基本知识 页面构成不同:用户控件中不能包含html、body或form元素,而ASP.NET页面必须包含这些元素。 基类不同:用户控件的基类为System.Web.UI.UserControl,而ASP.NET Web页面的基类为System.Web.UI.Page。 作用不同:用户控件通常作为ASP.NET Web页面的一部分而存在,不能单独存在。 7.1.2 创建用户控件 创建用户控件的步骤: 创建一个网站。 在“网站”菜单中选择“添加新项”菜单项。在弹出的“添加新项”对话框中,选择“Web 用户控件”模板。 键入项目名称,选择C#语言。 单击“添加”按钮。 设计器中,向用户控件添加HTML标记和服务器控件 利用属性窗口设置用户控件的属性和添加事件。 [例7-1] 接收日期的文本框 7.1.3 使用用户控件 使用用户控件的步骤: 在Visual Studio.NET集成开发环境中,打开要添加用户控件的网页。 切换到“设计”视图。 在“解决方案资源管理器”中选择用户控件文件,并将其拖曳到页面上,完成将用户控件添加到页面上的任务。 [例7-2] 使用例7-1创建的用户控件 7.1.3 使用用户控件 Register指令:用于在页面中注册用户控件,注册后,才能在页面中使用用户控件。 Register指令的属性: NameSpace:用户控件的命名空间。 TagPrefix属性:为用户控件的命名空间起一个别名,作为用户控件的前缀。 TagName属性:为用户控件类起一个别名,作为用户控件名。 Src属性:指定包含用户控件的文件的位置。 7.1.4 为用户控件添加属性 用户控件是UserControl类的派生类,因此可以使用get和set访问器为类添加属性。 [例7-3] 设置日期值 7.1.5 为用户控件添加事件 为用户控件添加事件,与为页面和内置Web服务器控件添加事件完全一样。 [例7-4] 颜色选择器 7.2 自定义控件 7.2.1自定义控件基本知识 Control类只提供简单的呈现逻辑,对控件的外观和样式都不支持,适合于不需要可视化外观的控件。例如,Literal控件。 WebControl类支持许多基本样式,以及呈现HTML元素的能力,适合于生成可视化HTML元素的控件。例如,Button控件。 CompositeControl类支持由多个控件合成的复合控件。例如,Wizard控件。 7.2.2 呈现自定义控件 在WebControl类中,RenderBeginTag、RenderContents和RenderEndTag方法,用于向HTTP输出流中输出HTML标记。 RenderBeginTag方法呈现起始标记 RenderEndTag方法呈现结束标记 RenderContents方法呈现标记中的内容。 HtmlTextWriter参数:是一个类,自定义控件通过它向HTTP输出流中输出HTML标记。 AddAttribute方法:为HTML标记添加属性 AddStyleAttribute:为HTML标记添加样式属性。 [例7-5] 图片轮播器 7.2.3 为自定义控件添加属性 与为类添加属性一样。但若要维护属性,需要考虑视图状态、控件状态,以及在集成开发环境的属性窗口中如何呈现等。 可以通过ViewState为控件添加视图状态,从而使自定义控件在回发过程中维护属性的值。 [例7-6] 带有属性的图片轮播器 7.2.4 为自定义控件添加事件 需要以下两个步骤: (1)在客户端引发事件,并启动页面回发 客户端事件可以直接在HTML标记中添加。 使用PostBackOptions类,产生启动回发事件的客户端脚本。 (2)在回发中检测与客户端相关的服务器端事件,并引发该事件 使用委托创建服务器端事件。 使用RaisePostBackEvent方法捕获回发,并在服务器上引发服务器端事件。 [例7-7] 能够响应事件的图片轮播器 * * *
您可能关注的文档
最近下载
- 2025-2026新人教版小学3三年级数学上册全册教案【新教材】.doc
- 发展社会主义民主政治..pptx VIP
- 加油站试用合同.docx VIP
- 《发展社会主义民族政治》主题单元设计.doc VIP
- 学校财务管理培训课件《中小学食堂财务管理与会计核算》.pptx VIP
- 广东省深圳市罗湖区2023年中考英语二模试卷(附答案详解).docx VIP
- 高压变频器节能计算.docx VIP
- 水利水电工程单元工程施工质量验收评定表及填表说明.doc VIP
- 《中国特色社会主义》教案第二单元第5课第2框教案.docx VIP
- 苏少版(2024)小学美术一年级上册教学设计(附教材目录).docx VIP
文档评论(0)