




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章用户控件用户控件 回顾与作业点评ASP.NET 运行时是怎样的运行时是怎样的?实现图片实现图片数字数字水印的两种方式和实现思路?水印的两种方式和实现思路?预习检查用户控件的扩展名是什么用户控件的扩展名是什么?Render() 方法有什么作用方法有什么作用?本章任务实现登录功能的用户控件实现登录功能的用户控件 实现实现 “编辑推荐编辑推荐”和和“热卖排行热卖排行”功能功能 实现分页的用户控件实现分页的用户控件 本章目标掌握用户控件的创建、使用掌握用户控件的创建、使用掌握在用户控件中暴露事件掌握在用户控件中暴露事件掌握在用户控件中使用的自定义事件掌握在用户控件中使用的自定义事件搜狐首页
2、搜狐首页搜狐新闻页搜狐新闻页页面内容的重用用户控件用户控件支持页面代码的重用支持页面代码的重用用户控件用户控件是一种组合控件是一种组合控件封装独立的功能封装独立的功能像页面一样方便的编辑像页面一样方便的编辑像控件一样使用拖拽方式使用像控件一样使用拖拽方式使用后缀名为后缀名为.ascx作用作用页面代码的重用页面代码的重用 母版页提供整个页面级的风格控制和代码重用;母版页提供整个页面级的风格控制和代码重用; 用户控件提供小范围的风格控制和更灵活的代码重用用户控件提供小范围的风格控制和更灵活的代码重用 什么是用户控件与母版页的区别母板页:母板页: 站点整体风格站点整体风格 后缀后缀.master用户
3、控件:用户控件:页面部分复用的情况下使用。页面部分复用的情况下使用。比较灵活。比较灵活。后缀后缀.ascx创建和使用用户控件的步骤创建和使用用户控件的步骤1、新建用户控件新建用户控件2、在用户控件上放置相关的在用户控件上放置相关的 Web 控件控件3、编写用户控件的后台代码编写用户控件的后台代码4、在其他页面使用用户控件在其他页面使用用户控件创建用户控件演示示例演示示例1:登录的用户控件:登录的用户控件Control指令指令后台代码后台代码类似于类似于Page指令指令 public partial class UserControls_UserLogin : System.Web.UI.Use
4、rControl protected void Page_Load(object sender, EventArgs e) .也有也有Page_Load事件事件 用户控件的关键代码在页面中注册和使用在页面中注册和使用在页面中注册控件在页面中注册控件 将用户控件放入页面指定位置即可将用户控件放入页面指定位置即可 使用用户控件在在web.config 中注册中注册 在页面中使用控件在页面中使用控件 使用用户控件的另外一种方式在页面中使用在页面中使用 练习实现登录功能的用户控件 需求说明需求说明将将“第三波书店第三波书店”中用户登录的功能使用用户控件中用户登录的功能使用用户控件技术实现技术实现 分别
5、使用两种方式注册用户控件分别使用两种方式注册用户控件完成时间:完成时间:20分钟分钟共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解如何在使用用户控件时,可自定义设置显示?如何在使用用户控件时,可自定义设置显示?可配置的用户控件用户控件是一个类用户控件是一个类给用户控件定义给用户控件定义“标题标题”,“显示数量显示数量”属性属性在使用页面中设置属性在使用页面中设置属性可配置的用户控件演示示例演示示例2:可配置界面的书籍排行:可配置界面的书籍排行用户控件的属性用户控件如何与页面交互?用户控件如何与页面交互? ex: 用户控件
6、的内部特性由页面来决定用户控件的内部特性由页面来决定 显示时间的用户控件,时间的格式由外部页面来定。 可以在用户控件中设置属性 DateFormat 公开用户控件内部的控件页面如何访问用户控件中的页面如何访问用户控件中的控件?控件? 如页面访问用户控件中的如页面访问用户控件中的Label 可在用户控件中如下声明:可在用户控件中如下声明: public Label lbl return this.lblMsg;动态加载用户控件页面如何动态加载用户控件?页面如何动态加载用户控件?Page.LoadControl用户控件关键代码用户控件关键代码暴露用户控件的属性 private string tit
7、le = ;/标题标题 private int num = 4;/个数个数 public string Title get. set . public int Num get. set . 默认值默认值 公开的属性公开的属性 protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) this.lblTitle.Text = this.Title; this.rptRankings.DataSource=new BookManager().GetRankings(this.Num); this.rptRa
8、nkings.DataBind(); 配置属性配置属性练习实现“编辑推荐”版块功能 需求说明需求说明实现实现“第三波书店第三波书店”首页中首页中“编辑推荐编辑推荐”版块功能版块功能使用用户控件技术实现,版块标题可配置使用用户控件技术实现,版块标题可配置显示效果类似显示效果类似“书籍排行榜书籍排行榜” 完成时间:完成时间:20分钟分钟共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解用户控件可以包含其他用户控件用户控件可以包含其他用户控件可以像页面一样,在用户控件中使用其他用户控件可以像页面一样,在用户控件中使用其他用户控件但
9、用户控件中不可包含自己,也不能循环嵌套但用户控件中不可包含自己,也不能循环嵌套用户控件用户控件1用户控件用户控件2用户控件用户控件1注意事项2-1用户控件不可以单独访问用户控件不可以单独访问后缀名后缀名.ascx是被禁止直接访问的类型是被禁止直接访问的类型 注意事项2-2用户控件与页面的区别用户控件与页面的区别用户控件与Page比比 较较 用户控件用户控件 页页 面面 扩展名扩展名 ascx aspx 指令指令 Control Page 继承继承 System.Web.UI.UserControl System.Web.UI.Page 包含包含 可包含控件和其他用户控件,也可可包含控件和其他用
10、户控件,也可以被其他用户控件和页面包含以被其他用户控件和页面包含 可以包含控件和所有用户控件,可以包含控件和所有用户控件,但是不可以被其他页面包含但是不可以被其他页面包含 标签标签 不能包含不能包含、等等HTML标签标签 可包含所有可包含所有HTML标签标签 直接直接访问访问 不可以不可以 可以可以 回顾:事件的定义 定义事件定义事件定义事件消息类(可选)定义事件消息类(可选)直接使用直接使用.NET 提供的提供的 EventArgs继承继承 EventArgs定义委托类型(可选)定义委托类型(可选)直接使用直接使用.NET 提供的提供的EventHandler 自定义自定义定义事件定义事件p
11、ublic delegate void MyEventHandler( Object sender, MyEventArgs e);public event MyEventHandler QuestionEvent; public class MyEventArgs : EventArgs public string Messageget;set; 演示示例演示示例1:图书高级搜索用户控件:图书高级搜索用户控件关键代码回顾public delegate void SearchEventHandler(object sender, SearchEventArgs e);public event
12、SearchEventHandler Searched;protected void btnOK_Click(object sender, EventArgs e) SearchEventHandler handler = this.Searched; SearchEventArgs e1 = new SearchEventArgs(this.txtBookName.Text.Trim(), ); if (handler != null) handler(this, e1); 委托委托事件事件触发事件触发事件public partial class AdvancedSearch : Syste
13、m.Web.UI.Page protected void Page_Init(object sender, EventArgs e) this.AdvancedSearch1.Searched +=new UserControls_AdvancedSearch.SearchEventHandler( AdvancedSearch_Searched); void AdvancedSearch_Searched(object sender, SearchEventArgs e) /拼接拼接URL参数参数 string para = e.BookName + , + e.Publisher + ,
14、+ e.BeginDate +, + e.EndDate + , + e.PriceFrom + , + e.PriceTo + , + e.ISBN; Response.Redirect(/search.aspx?para= + Server.UrlEncode(para) + ); 注册事件注册事件事件处理事件处理使用事件访问器事件访问器事件访问器封装类的事件字段封装类的事件字段private event SearchEventHandler _searched;public event SearchEventHandler Searched add _searched += value;
15、 remove _searched -= value; 像属性一样封装像属性一样封装优化的事件访问器使用使用Control 类的类的Events 集合替代事件字段集合替代事件字段private static object keySearched = new object();public event SearchEventHandler Searched add base.Events.AddHandler(keySearched, value); remove base.Events.RemoveHandler(keySearched, value); protected void btnO
16、K_Click(object sender, EventArgs e) SearchEventHandler handler = (SearchEventHandler)base.EventskeySearched; .委托对象存储在基类委托对象存储在基类Control 的的Events 属性属性 中,中,是一种链表结构,可通过是一种链表结构,可通过Key 访问访问分页的用户控件如何实现分页的用户控件?如何实现分页的用户控件?用户控件编码使用哪个标记?用户控件编码使用哪个标记?用户控件和母版页分别在哪种情况下使用?用户控件和母版页分别在哪种情况下使用?可否在用户控件中访问外部页面的控件?为什可否在用户控件中访问外部页面的控件?为什么?么?用户控件与Page小结总结如何暴露用户控件的属性如何暴露用户控件的属性?用户控件和自定义控件的注册方式用户控件和自定义控件的注册方式?控件的生命周期控件的生命周期?自定义控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国纳米铁酸钴项目创业计划书
- 单招考试题及答案数学
- 2025年中国明矾石项目商业计划书
- 孩子的抚养协议书怎么写
- 计算机协议书解释
- 跑男对赌协议书
- 独家配送协议书
- 中国防锈涂料项目商业计划书
- 会议接待考试试题及答案
- 中国聚乙酸乙烯酯水分散体项目商业计划书
- 慢性阻塞性肺疾病急性加重围出院期管理与随访指南(2024年版)解读
- 《建筑施工技术》课件-土方开挖及边坡支护
- 特殊教育作业册(上册)
- 6.1+友谊的真谛++课件-2024-2025学年统编版道德与法治七年级上册
- Office高效办公智慧树知到期末考试答案章节答案2024年西安欧亚学院
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 南洋理工校训的英文
- HG+20231-2014化学工业建设项目试车规范
- DL-T5161.12-2018电气装置安装工程质量检验及评定规程第12部分:低压电器施工质量检验
- 保险欺诈检测的智能算法
- 平安产险意外伤害保险(B款)(互联网版)条款
评论
0/150
提交评论