0

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。

4

1 回答 1

3

尝试这个:

void btn_Click(object sender, EventArgs e)
{
    string str = ((Button)sender).ID;
}
于 2013-09-22T09:25:15.040 回答