我在動態添加按鈕單擊事件時遇到問題。 我正在使用網格。該網格的一列有一個按鈕。在該網格的Row_dataBound事件中,我找到該按鈕,並按照以下方式將該事件處理程序添加到該網格的單擊按鈕按鈕。動態添加Click事件到asp按鈕
protected void grdDisplayUserLeave_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btnApprove = (Button)e.Row.FindControl("btnApprove");
Button btnDisApprove = (Button)e.Row.FindControl("btnDisApprove");
UserLeaveDTO objUserLeave = (UserLeaveDTO)e.Row.DataItem;
btnApprove.OnClientClick = "leaveApplication.HoldLeaveId(" + objUserLeave.LeaveId + ",'" + hdnLeaveId.ClientID + "')";
btnDisApprove.OnClientClick = "leaveApplication.HoldLeaveId(" + objUserLeave.LeaveId + ",'" + hdnLeaveId.ClientID + "')";
//btnApprove.Attributes.Add("onclick", "leaveApplication.HoldLeaveId("+objUserLeave.LeaveId+",'"+hdnLeaveId.ClientID+"')");
//btnDisApprove.Attributes.Add("onclick", "leaveApplication.HoldLeaveId(" + objUserLeave.LeaveId + ",'" + hdnLeaveId.ClientID + "')");
btnApprove.Click += new EventHandler(Handle_ApproveLeave);
btnDisApprove.Click += new EventHandler(Handle_ApproveLeave);
}
}
,我宣佈我的事件處理程序通過以下方式
protected void Handle_ApproveLeave(object sender, EventArgs e)
{
//long cusomerId = Convert.ToInt64(deleteItemIdValue.Value);
}
但問題是,我沒有得到這個按鈕被點擊時調用的事件處理程序。 任何人都可以告訴我我在做什麼錯?
在此先感謝。
我能夠解決此問題,只需使用的onclick中標記事件了,然後有事件處理程序的代碼背後,並允許電網做回帖。無論如何感謝回答這個問題。我真的很感謝有人回答這個問題:) – Sumit 2012-02-28 09:17:58