根據某些條件動態創建的表格,我動態添加了imagebutton。並行地我想添加這個圖像按鈕點擊事件,但點擊事件沒有被解僱。這是我的代碼片段。動態創建的圖片按鈕點擊事件未被觸發
private void createTable()
{
TableRow tableRow = new TableRow();
TableCell ImageCell = new TableCell();
ImageButton imgBtndeleteAttr = new ImageButton();
imgBtndeleteAttr.ID = "imgbtn_" + i.ToString() + j.ToString();
imgBtndeleteAttr.CssClass = "deleteDynamic";
imgBtndeleteAttr.OnClientClick = "javascript:return confirm('Do you want to delete this Attribute?');";
imgBtndeleteAttr.Click += new System.Web.UI.ImageClickEventHandler(imgBtndeleteAttr_Click);
ImageCell.Controls.Add(imgBtndeleteAttr);
tableRow.Cells.Add(ImageCell);
}
這裏是事件
protected void imgBtndeleteAttr_Click(object sender, ImageClickEventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "lnk",
"<script type = 'text/javascript'>alert('Image button Clicked');</script>");
}
你是否在'Page.IsPostBack'上調用'createTable()'?所有動態創建的控件必須在回發後**重新創建**,否則它們不存在並且不創建事件處理程序 – freefaller
no。我不能調用的Page.IsPostBack或頁面加載createTable()因爲表和controlls想要基於用戶選擇參數 – Jzl
生成如果只會有**一個**動態項目,然後只是創建它,並正常在標記中設置Visible =「false」',那麼你可以在代碼中將其更改爲'.Visible = true;'。如果有多個,那麼你處於一個痛苦的世界,我沒有時間來解釋 – freefaller