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



我在多次搜索后编写了此代码,但不起作用
我需要以编程方式创建为 asp:button 并处理它

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?

不幸的是,您的问题没有明确说明您要查找的信息,但是,由于您确实进行了特定查询,我将解决这个问题。

为什么不打电话给btn_Click?

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

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

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

这将在单击按钮时btn_Click执行。

但是,要记住的一点是,此函数将针对列表中的每个按钮执行,因此您需要确保它确实与按钮所属的列表项特别相关。

最新更新