PageLoad中抓取Button Click事件

遇到一种需求,User要求每点一个Button,都要记录log,这可就比较麻烦了~
想到两种解决的方式
1.在PageLoad事件中进行处理,抓到Button Click事件,进行记录log
2.客制一个Button控件,在Button的基类中进行处理

目前找到第一种事项的方法,只是感觉如果页面元素比较多,可能会比较慢,还未测试过
如果取的ImageButton,那么从Page.Request.Form中取会的buttonID则会带有ImageButtond 的坐标信息,
buttonID.X 和 buttonID.Y,所以在Page.FindControl的时候,需要将buttonID的.X或者.Y去掉,否则FindControl是找不到这个ImageButton的

     protected   void  PageBase_Load( object  sender, EventArgs e)
    
{
        
foreach (string buttonID in this.Page.Request.Form)
        
{
            
//Page Load时抓取Request 的 Button ID
            Control pageControl = this.Page.FindControl(buttonID);
            
if (pageControl is Button)
            
{
                
//this.Page.Response.Write(pageControl.ID + "; " + pageControl.ClientID + ";<br/>");
            }

            
else if (pageControl is ImageButton)
            
{
            }

        }

    }

第二种方式理论上如下方式即可实现,只是还没有进行测试

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

/**/ /// <summary>
/// Summary description for LogButton
/// </summary>

public   class  LogButton : Button
{
    
public LogButton()
    
{
        
//
        
// TODO: Add constructor logic here
        
//
    }


    
protected override void OnClick(EventArgs e)
    
{
        
base.OnClick(e);
        
//Save Log
    }

}

转载于:https://www.cnblogs.com/forward/archive/2008/02/28/1085131.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值