运行时按钮始终在单击事件时采用最后一个按钮的 ID

本文关键字:按钮 最后一个 ID 事件 单击 运行时 | 更新日期: 2023-09-27 18:32:14

Page_load上,我正在创建运行时按钮。 页面加载时未检查回发条件, Datatable_data存在不同的数据以用作按钮的 ID 和按钮的文本部分。

创建按钮的代码是

for (i = 0; i < dt.Rows.Count; i++)
{
  btn = new Button();
  btn.ID = Datatable_data.Rows[i][1].ToString();
  btn.Text = Datatable_data.Rows[i][0].ToString();
  placeholderID.Controls.Add(btn);
  btn.Click += new EventHandler(btn_Click);
}

点击事件为:

void btn_Click(object sender, EventArgs e)
{
   string str=btn.ID;
}

按钮创建成功,但问题是在单击 5 个按钮中的任何按钮时,str存储最后一个创建的按钮的 ID,但我希望单击按钮的 ID。

运行时按钮始终在单击事件时采用最后一个按钮的 ID

试试这个:

void btn_Click(object sender, EventArgs e)
{
    string str = ((Button)sender).ID;
}