创建用户控件和自定义控

上传人:san****019 文档编号:20305568 上传时间:2021-03-06 格式:PPT 页数:14 大小:215.25KB
返回 下载 相关 举报
创建用户控件和自定义控_第1页
第1页 / 共14页
创建用户控件和自定义控_第2页
第2页 / 共14页
创建用户控件和自定义控_第3页
第3页 / 共14页
点击查看更多>>
资源描述
第 5章 创建用户控件和自定义控件 有时可能需要控件中具有内置 ASP.NET Web服务器控件 未提供的功能。在这种情况下,可以创建自己的控件。可自行 创建的控件如下。 用户控件。用户控件就是几个 Web服务控件的组合,使这 几个控件成为一个控件,并可以定义这些控件的属性和方法。 自定义控件。自定义控件就是编写的一个类,此类从 Control或 WebControl派生。创建自定义控件要比创建用户控 件复杂,但是自定义控件更加灵活,功能也更加强大。 本章学习的内容有: 用户控件的创建和使用 自定义控件的创建和使用 剖析控件的状态 自定义控件的属性 5.1 用户控件的使用 用户控件的扩展名为 .ascx,在结构上与 ASP.NET网页 相似,功能与普通 Web控件类似。用户控件指页面中加载的 功能块,只能嵌入到 aspx页面中使用,或嵌入到其他用户控 件中使用,不能单独作为页使用。 5.1.1 认识用户控件 ASP.NET Web用户控件与 ASP.NET网页( .aspx文件) 相似。表面上看,用户控件具备一个界面,而且双击界面中 的控件,也能转到后台代码视图。但用户控件无法像网页一 样运行,它必须嵌套在一个网页中才能显示。可以采取与创 建 ASP.NET页相似的方式来创建用户控件,然后向用户控 件中添加子控件。用户控件可以像页面一样包含对内容进行 操作的代码。 5.1.2 实现一个站点计数器的用户控件 网页计数器可以用来统计网页访问量。如果在每一个页面 都添加计数器代码,那么工作量将很大。本节就介绍利用用户 控件来实现计数器,然后在每个页面中进行调用即可。 5.1.3 模板化的 ASP.NET用户控件 用户控件可以创建模板,它允许控件数据与表示形式 分离。其中用户控件的界面由开发人员来设计。开发人员创 建了用户控件定义的类型模板后,就可以向模板添加控件和 标记。 5.1.4 将 Web窗体页转化为用户控件 从前面的示例代码中可以看出,用户控件比 Web窗体 页面少了 、 和 等元素,并且将 aspx页 面中的 Page指令变成了 Control指令。如果已经开发了 ASP.NET网页并打算在整个应用程序中使用其功能,则可 以对该页面略加改动,将它更改为一个用户控件。 1将单文件 ASP.NET网页转换为用户控件 2将代码隐藏 ASP.NET网页转换为用户控件 5.2 自定义控件的使用 所谓自定义控件,就是开发者编写好控件后,生成一 个 .dll文件,将其添加到工具箱中,然后就直接可以在页面 上使用的控件。由于自定义控件的编写,使用到的知识面比 较多,本节通过一个最简单自定义控件的制作过程,来对自 定义控件进行详细讲解。 5.2.1 一个简单的自定义控件 要制作一个简单的自定义控件,可按以下步骤进行。 ( 1)单击“新建” “项目”命令,弹出“新建项目”窗口。 在“模板”选项组中选择“类库”选项,在“名称”文本框中输入 “ ClassLibrary1”。 ( 2)右击“解决方案资源管理器”面板中的“引用”文件夹, 在弹出的快捷菜单中单击“添加引用”命令,将打开“添加引用”窗 口。 ( 3)在“ .NET”选项卡中,为该类库添加的 7个引用。 ( 4)添加完引用后,在 Class1.cs文件中对自定义控件进行设计。 5.2.2 为自定义控件控件添加公共属性 从 System.Web.UI.WebControls.WebControl命名空间 中,可以派生出要呈现用户界面( UI)元素的控件,或包含 任何其他客户端可见元素的控件。如果控件要呈现在客户端 浏览器中不可见的元素,则应在 System.Web.UI.Control派 生该控件。 WebControl类从 Control类派生,并添加了与样 式相关的属性,如 Font、 ForeColor和 BackColor。此外,一 个从 WebControl派生的控件,也将自行拥有 ASP.NET的主 题功能。 5.2.3 无需编译测试自定义控件 无需将自定义控件编译为程序集,只需要借助 ASP.NET的 动态编译功能,就可以对页中的自定义控件进行测试。读者学 习到这里应该已经知道,在 ASP.NET网址的根目录下,通常有 一个文件夹 App_Code,该目录中放置的代码可以被 ASP.NET动 态编译。这样就可以从页面中访问 App_Code中源文件的类,而 无需将其手动编译为程序集。如果将控件的源文件放入 App_Code目录,则对控件的代码所做的任何更改都能立即在使 用这些控件的页面中反映出来。 5.2.4 将控件编译为程序集 可以使用命令行工具 csc.exe将所创建的类编译成 dll 文件。 5.2.5 剖析控件的状态 在 ASP.NET中,引入与视图状态类似的控件状态,但却在 功能上独立于视图状态。控件状态是专门用来对控件的重要数 据进行存储的,如一个页面控件的页数。页面回发时,必须用 到这些数据,才能使控件正常工作。 5.2.6 自定义控件的属性 控件的属性包含简单属性和复杂属性。简单属性就是 一个类型为字符串,或容易被映射到字符串的类型属性。简 单属性在控件的开始标记上会自行保留为属性,如 String类 型的属性就是简单属性。通过添加代码,可以将简单属性存 储在视图状态中,以在回发期间进行状态管理。如果一个属 性的类型是本身具有属性或者子属性的类,则该属性就被称 为复杂属性。 5.3 小结 在 ASP.NET中,除了内置的 HTML服务器控件和 Web 服务器控件之外,用户还可以根据自己的实际需要编写自定 义的控件。本章介绍了有关创建用户控件和自定义控件的知 识。通过本章的学习,读者应该掌握控件的制作原理以及控 件在各种情况下的状态。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!