我经过多次搜索后写了这段代码但是没有工作 我需要以编程方式创建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?
答案 0 :(得分:0)
不幸的是,您的问题并没有明确说明您要查找的信息,但是,由于您确实提出了特定查询,我将解决此问题。
为什么不拨打btn_Click?
因为btn_Click
事件处理程序尚未绑定到按钮的click事件。
这就是您在创建按钮时需要执行此操作的原因:
btn.Click +=new EventHandler(this.btn_Click);
单击按钮时执行btn_Click
。
但要记住的是,此功能将对列表中的每个按钮执行,因此您需要确保它能够与按钮所属的列表项具体相关。