博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
阅读量:4191 次
发布时间:2019-05-26

本文共 1728 字,大约阅读时间需要 5 分钟。

 (一). 概述

         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.  自定义方法所在的页面 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 
}
 
 
(三). 示例代码下载
 
        
 
 
(四). 其它自定义控件相关文章
 
       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1564501

你可能感兴趣的文章
基于hibernate的das实现研究(2)
查看>>
eclipse的jre设置
查看>>
世界是平的------说说SOA,jini,jxta,jbi,OSGi
查看>>
1.1 jBPM BPEL的wsdl扩展实现
查看>>
手机流媒体技术概要
查看>>
SOA和伪技术
查看>>
BPEL1.1的activity类图说明及BPEL2.0新加功能
查看>>
凭借BPEL和ESB JBoss发力SOA
查看>>
我对SOA的理解
查看>>
smart_jsp1.2发布了
查看>>
smart发布中发现的weblogic/tomcat/resin的兼容性问题以及解决方案
查看>>
在SourceForge.net上使用TortoiseCVS上传代码
查看>>
smart1.0稳定版 终于在sourceforge released
查看>>
smart工作流管理系统自动生成的页面和数据的效果示意图
查看>>
smart发布中的体会
查看>>
smart是什么?
查看>>
学习smart工作流管理系统的好处
查看>>
smart工作流管理系统的安装与配置方法
查看>>
基于spring的unittest
查看>>
jboss的几个人和几个blog
查看>>