运行时按钮始终在点击事件中获取最后一个按钮的ID

时间:2013-09-22 09:19:12

标签: c# asp.net button

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

创建按钮的代码是

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。

1 个答案:

答案 0 :(得分:3)

试试这个:

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