预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第五章 用户控件与自定义控件 4/18/2012智源软件工程师培训1 本章目标 了解:用户控件和自定义控件的概念 理解:自定义控件的创建和使用 掌握:用户控件的创建和使用 4/18/2012智源软件工程师培训2 用户控件 用户控件可以实现页面代码的重用 4/18/2012智源软件工程师培训3 用户控件 用户控件可以实现页面代码的重用 搜狐新闻页搜狐新闻页 搜狐首页搜狐首页 4/18/2012智源软件工程师培训4 用户控件 用户控件 是一种自定义的组合控件 封装独立的功能(显示列表等) 像页面一样方便的编辑,像控件一样使用拖拽 方式使用 后缀名为.ascx 作用 页面代码的重用 4/18/2012智源软件工程师培训5 创建用户控件 将用户登录的部分放入用户控件 新建用户控件 在用户控件上放置相关的Web控件 编写用户控件的后台代码 在其他页面使用用户控件 4/18/2012智源软件工程师培训6 创建用户控件 Control指令--声明用户控件 <%@ControlLanguage="C#"AutoEventWireup="true" CodeFile="UserLoginControl.ascx.cs" Inherits="_Controls_UserLoginControl"%> 类似于类似于@Page@Page指令指令 后台代码 publicpartialclass_Controls_UserLoginControl: System.Web.UI.UserControl {用户控件继承自用户控件继承自System.Web.UI.UserControlSystem.Web.UI.UserControl类类 protectedvoidPage_Load(objectsender,EventArgse) ...... }也有也有Page_LoadPage_Load事件事件 4/18/2012智源软件工程师培训7 使用用户控件 页面中注册和使用 <%@RegisterSrc="../_Controls/UserLoginControl.ascx" TagName="UserLoginControl" TagPrefix="uc1"%>在页面中注册控件在页面中注册控件 …… <uc1:UserLoginControlID="ulcLogin"runat="server"/> 将用户控件放入页面指定位置即可将用户控件放入页面指定位置即可 4/18/2012智源软件工程师培训8 注意事项 用户控件中可以使用其他用户控件 可以像页面一样,在用户控件中使用其他用户 控件 但用户控件中不可包含自己,也不能发生任何 循环嵌套用户控件用户控件11 用户控件用户控件22 用户控件用户控件11 4/18/2012智源软件工程师培训9 用户控件与Page 页面:容器页面:容器;; 用户控件:内容。用户控件:内容。 用户控件与页面的区别? 后缀名:用户控件以.ascx为后缀名,而页面后 缀名是.aspx 指令:用户控件为@Control,页面是@Page 继承:用户控件继承自 System.Web.UI.UserControl,而页面继承自 System.Web.UI.Page 用户控件不可直接访问,页面可直接访问 用户控件中不包含<html>、<head>和<body>标 记。这些标记由用户控件的宿主页支持。 4/18/2012智源软件工程师培训10 用户控件概述 •在Web.Config中注册用户控件 <pages> <controls> <addtagPrefix="wish“ tagName="SiteHeader" src="~/Controls/SiteHeader.ascx"/> </controls> </pages> 4/18/2012智源软件工程师培训11 自定义控件概述 自定义控件 用.DLL文件表示 出现在工具箱中 不支持缓存 提供全面支持 创建自定义控件的三种方式 System.Web.UI.Control System.Web.UI.WebControls.WebControl System.Web.UI.WebControls.CompositeControl 4/18/2012智源软件工程师培训12 派生自System.Web.UI.Control publicclassControlDemo:Control { protectedoverridevoidRender( HtmlTextWriterwriter) { writer.Write