Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
来源:互联网 发布:mac 如何安装ipython 编辑:程序博客网 时间:2024/06/16 04:58
(一). 概述
HyperLink默认没有Click事件, 重写了一个HyperLink自定义控件.
实现原理:
默认Hyperlink是跳到点击请求的页面, 本HyperLink自定义控件最终也是跳转到请求的页面, 但期间
执行了自己的一个方法, 我们可以在此方法中添写自己所需的功能.
本示例演示统计此超链接点击次数功能. [参考Asp.net 2.0高级编程]
(二). 代码实现
1. 自定义控件 HyperLink.cs 代码
1 ///
2 /// Author: [ ChengKing(ZhengJian) ]
3 /// Blog: Http://blog.csdn.net/ChengKing
4 ///
5 public partial class HyperLink : System.Web.UI.WebControls.HyperLink
6 {
7 public HyperLink()
8 {
9 }
10
11 ///
12 /// 返回要进行统计页面的名称[凡是点击了此控件都将经过此total.aspx页面]
13 ///
14 public string TotalPage
15 {
16 get
17 {
18 return "total.aspx";
19 }
20 }
21
22 ///
23 /// 1. 当基类中同名方法有virtual标志时,一般用override重写,多态;
24 /// 但当基类没有virtual关键字时,用new关键字修改基类方法,不具有多态功能.
25 /// 2. 修改NavigateUrl, 将TotalPage始终作为目标页面;
26 /// 而将用户点击的目标页面作为page参数传入
27 /// 3. 这里方法名称必须是NavigateUrl, 因为当执行单击事件时,它会自动取这个属性名称的值,进行页面跳转
28 ///
29 public new string NavigateUrl
30 {
31 get
32 {
33 return base.NavigateUrl;
34 }
35 set
36 {
37 string strUrl = "{0}?page={1}";
38 strUrl = String.Format(strUrl, TotalPage, value);
39 base.NavigateUrl = strUrl;
40 }
41 }
42 }
2 /// Author: [ ChengKing(ZhengJian) ]
3 /// Blog: Http://blog.csdn.net/ChengKing
4 ///
5 public partial class HyperLink : System.Web.UI.WebControls.HyperLink
6 {
7 public HyperLink()
8 {
9 }
10
11 ///
12 /// 返回要进行统计页面的名称[凡是点击了此控件都将经过此total.aspx页面]
13 ///
14 public string TotalPage
15 {
16 get
17 {
18 return "total.aspx";
19 }
20 }
21
22 ///
23 /// 1. 当基类中同名方法有virtual标志时,一般用override重写,多态;
24 /// 但当基类没有virtual关键字时,用new关键字修改基类方法,不具有多态功能.
25 /// 2. 修改NavigateUrl, 将TotalPage始终作为目标页面;
26 /// 而将用户点击的目标页面作为page参数传入
27 /// 3. 这里方法名称必须是NavigateUrl, 因为当执行单击事件时,它会自动取这个属性名称的值,进行页面跳转
28 ///
29 public new string NavigateUrl
30 {
31 get
32 {
33 return base.NavigateUrl;
34 }
35 set
36 {
37 string strUrl = "{0}?page={1}";
38 strUrl = String.Format(strUrl, TotalPage, value);
39 base.NavigateUrl = strUrl;
40 }
41 }
42 }
2. 自定义方法所在的页面 Total.aspx.cs 代码
1 ///
2 /// Author: [ ChengKing(ZhengJian) ]
3 /// Blog: Http://blog.csdn.net/ChengKing
4 ///
5 public partial class Total : System.Web.UI.Page
6 {
7 //公共统计页面, 用来执行 点击汽车图片次数功能的方法
8 protected void Page_Load(object sender, EventArgs e)
9 {
10 this.CustomMethod();
11
12 string strObjectPage = Request["page"].ToString();
13 Response.Redirect(strObjectPage);
14 }
15
16 ///
17 /// 这个方法可以写类似OnClick事件代码
18 ///
19 private void CustomMethod()
20 {
21 //做统计功能, 或其它功能
22 //Application["Car_Click_Count"] = (int)Application["Car_Click_Count"] + 1;
23 }
24 }
2 /// Author: [ ChengKing(ZhengJian) ]
3 /// Blog: Http://blog.csdn.net/ChengKing
4 ///
5 public partial class Total : System.Web.UI.Page
6 {
7 //公共统计页面, 用来执行 点击汽车图片次数功能的方法
8 protected void Page_Load(object sender, EventArgs e)
9 {
10 this.CustomMethod();
11
12 string strObjectPage = Request["page"].ToString();
13 Response.Redirect(strObjectPage);
14 }
15
16 ///
17 /// 这个方法可以写类似OnClick事件代码
18 ///
19 private void CustomMethod()
20 {
21 //做统计功能, 或其它功能
22 //Application["Car_Click_Count"] = (int)Application["Car_Click_Count"] + 1;
23 }
24 }
(三). 示例代码下载
http://www.cnblogs.com/Files/MVP33650/Total%20HyperLink%20count.rar
(四). 其它自定义控件相关文章
http://blog.csdn.net/ChengKing/category/288694.aspx
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- 修復VS.NET 2005
- Windows API一日一练(54)WriteFile和ReadFile函数
- 如何编写高质量的代码——来自《代码大全(第2版)》的启示
- Windows API一日一练(53)CreateFile函数
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- deplate(Viki) 全面定制
- Windows API一日一练(52)GetCurrentDirectory和SetCurrentDirectory函数
- LINQ
- 小试一把 64 位 Windows 编程
- 候捷谈Java反射机制(二)
- 在Gridview中设置日期字段的显示格式为yyyy-MM-dd
- 去掉 deplate(Viki) 生成的 html 文件行尾多余的空格。
- Windows API一日一练(50)SuspendThread和ResumeThread函数