版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 创建用户控件和自定义控件,有时可能需要控件中具有内置ASP.NET Web服务器控件未提供的功能。在这种情况下,可以创建自己的控件。可自行创建的控件如下。 用户控件。用户控件就是几个Web服务控件的组合,使这几个控件成为一个控件,并可以定义这些控件的属性和方法。 自定义控件。自定义控件就是编写的一个类,此类从Control或WebControl派生。创建自定义控件要比创建用户控件复杂,但是自定义控件更加灵活,功能也更加强大。 本章学习的内容有: 用户控件的创建和使用 自定义控件的创建和使用 剖析控件的状态 自定义控件的属性,5.1 用户控件的使用,用户控件的扩展名为.ascx,在结构上
2、与ASP.NET网页相似,功能与普通Web控件类似。用户控件指页面中加载的功能块,只能嵌入到aspx页面中使用,或嵌入到其他用户控件中使用,不能单独作为页使用。,5.1.1 认识用户控件,ASP.NET Web用户控件与ASP.NET网页(.aspx文件)相似。表面上看,用户控件具备一个界面,而且双击界面中的控件,也能转到后台代码视图。但用户控件无法像网页一样运行,它必须嵌套在一个网页中才能显示。可以采取与创建ASP.NET页相似的方式来创建用户控件,然后向用户控件中添加子控件。用户控件可以像页面一样包含对内容进行操作的代码。,5.1.2 实现一个站点计数器的用户控件,网页计数器可以用来统计网
3、页访问量。如果在每一个页面都添加计数器代码,那么工作量将很大。本节就介绍利用用户控件来实现计数器,然后在每个页面中进行调用即可。,5.1.3 模板化的ASP.NET用户控件,用户控件可以创建模板,它允许控件数据与表示形式分离。其中用户控件的界面由开发人员来设计。开发人员创建了用户控件定义的类型模板后,就可以向模板添加控件和标记。,5.1.4 将Web窗体页转化为用户控件,从前面的示例代码中可以看出,用户控件比Web窗体页面少了、和等元素,并且将aspx页面中的Page指令变成了Control指令。如果已经开发了ASP.NET网页并打算在整个应用程序中使用其功能,则可以对该页面略加改动,将它更改
4、为一个用户控件。 1将单文件ASP.NET网页转换为用户控件 2将代码隐藏ASP.NET网页转换为用户控件,5.2 自定义控件的使用,所谓自定义控件,就是开发者编写好控件后,生成一个.dll文件,将其添加到工具箱中,然后就直接可以在页面上使用的控件。由于自定义控件的编写,使用到的知识面比较多,本节通过一个最简单自定义控件的制作过程,来对自定义控件进行详细讲解。,5.2.1 一个简单的自定义控件,要制作一个简单的自定义控件,可按以下步骤进行。 (1)单击“新建”“项目”命令,弹出“新建项目”窗口。在“模板”选项组中选择“类库”选项,在“名称”文本框中输入“ClassLibrary1”。 (2)右
5、击“解决方案资源管理器”面板中的“引用”文件夹,在弹出的快捷菜单中单击“添加引用”命令,将打开“添加引用”窗口。 (3)在“.NET”选项卡中,为该类库添加的7个引用。 (4)添加完引用后,在Class1.cs文件中对自定义控件进行设计。,5.2.2 为自定义控件控件添加公共属性,从System.Web.UI.WebControls.WebControl命名空间中,可以派生出要呈现用户界面(UI)元素的控件,或包含任何其他客户端可见元素的控件。如果控件要呈现在客户端浏览器中不可见的元素,则应在System.Web.UI.Control派生该控件。WebControl类从Control类派生,并
6、添加了与样式相关的属性,如Font、ForeColor和BackColor。此外,一个从WebControl派生的控件,也将自行拥有ASP.NET的主题功能。,5.2.3 无需编译测试自定义控件,无需将自定义控件编译为程序集,只需要借助ASP.NET的动态编译功能,就可以对页中的自定义控件进行测试。读者学习到这里应该已经知道,在ASP.NET网址的根目录下,通常有一个文件夹App_Code,该目录中放置的代码可以被ASP.NET动态编译。这样就可以从页面中访问App_Code中源文件的类,而无需将其手动编译为程序集。如果将控件的源文件放入App_Code目录,则对控件的代码所做的任何更改都能立
7、即在使用这些控件的页面中反映出来。,5.2.4 将控件编译为程序集,可以使用命令行工具csc.exe将所创建的类编译成dll文件。,5.2.5 剖析控件的状态,在ASP.NET中,引入与视图状态类似的控件状态,但却在功能上独立于视图状态。控件状态是专门用来对控件的重要数据进行存储的,如一个页面控件的页数。页面回发时,必须用到这些数据,才能使控件正常工作。,5.2.6 自定义控件的属性,控件的属性包含简单属性和复杂属性。简单属性就是一个类型为字符串,或容易被映射到字符串的类型属性。简单属性在控件的开始标记上会自行保留为属性,如String类型的属性就是简单属性。通过添加代码,可以将简单属性存储在视图状态中,以在回发期间进行状态管理。如果一个属性的类型是本身具有属性或者子属性的类,则该属性就被称为复杂属性。,5.3 小结,在ASP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育婴员期末考试题及答案
- 专四往年考试题及答案
- 国企文职考试题目及答案
- 2026年中职家政服务与管理(家庭保洁技巧)试题及答案
- 国际经济法概论自考试题及答案
- 危险车辆考试题及答案
- 学校文员考试题目及答案
- 2026PETS三级听力专项训练试题及答案
- 金版教程2025年高考物理复习第10章核心素养提升
- 电话销售培训
- 课件-人才盘点完全应用手册
- 海洋工程作业安全预案
- 2025-2026学年北师大版(2024)小学数学二年级上册(全册)教学设计(表格版)(附目录P255)
- 锂电池出口知识培训课件
- DB36∕T 1296-2020 城市消防物联网大数据应用平台接口规范
- 公建工程交付指南(第三册)
- 工厂安全生产环保操作规程
- 钻井队用电安全培训
- JG/T 3055-1999基桩动测仪
- 人教版数学九年级上册第一单元测试卷(附答案)
- 民事诉讼法戴鹏讲义
评论
0/150
提交评论