不会触发动态创建的图像按钮单击事件

时间:2015-10-28 09:51:40

标签: c# asp.net

在基于某些条件动态创建的表上,我已动态添加了图像按钮。并行我想为此图像按钮单击添加事件但单击事件不会被触发。这是我的代码片段。

    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>");
    }

1 个答案:

答案 0 :(得分:1)

在asp中使用动态控件是个坏主意。必须在回发时重新创建控件。因此,如果您动态创建按钮并单击它,则会发生回发并触发事件,但由于回发,触发事件的按钮将被销毁,并且已撤消引发的事件。