如何使用单击处理在c#后面以编程方式创建一个asp:按钮

时间:2017-06-14 09:45:32

标签: c# asp.net

我经过多次搜索后写了这段代码但是没有工作 我需要以编程方式创建as:按钮并处理它

for(int i=0;i<DtShow.Rows.Count;i++)
        {
            Button btn = new Button
            {
                Text = "حذف",
                ID = i.ToString(),
                UseSubmitBehavior = false,
                CommandArgument =i.ToString(),
                CssClass = "btn btn-danger"
            };
            btn.Click +=new EventHandler(this.btn_Click);
            lstAccessDgv.Rows[i].Cells[2].Controls.Add(btn);
        }
 protected void btn_Click(object sender, EventArgs e)
    {
        Button b = (Button)sender;
        int id = Convert.ToInt32(b.ID);
        DtCode.Rows.RemoveAt(id);
        DtShow.Rows.RemoveAt(id);
        lstAccessDgv.Rows[id].Visible = false;
    }

为什么不拨打btn_Click?

1 个答案:

答案 0 :(得分:0)

不幸的是,您的问题并没有明确说明您要查找的信息,但是,由于您确实提出了特定查询,我将解决此问题。

  

为什么不拨打btn_Click?

因为btn_Click事件处理程序尚未绑定到按钮的click事件。

这就是您在创建按钮时需要执行此操作的原因:

btn.Click +=new EventHandler(this.btn_Click);

单击按钮时执行btn_Click

但要记住的是,此功能将对列表中的每个按钮执行,因此您需要确保它能够与按钮所属的列表项具体相关。