在asp.net页面中动态创建按钮,并向所有按钮触发click事件

时间:2014-05-14 08:03:17

标签: c# asp.net

我想在asp.net页面中动态创建按钮并编写代码。通过下面的代码动态创建按钮。

List<string> category = new List<string>();
            category.Add("AAA");
            category.Add("BBB");
            category.Add("CCC");
            category.Add("DDD");
            category.Add("EEE");
            for (int i = 0; i < category.Count; i++)
            {
                TableRow tr = new TableRow();

                TableCell cl = new TableCell();
                TableCell cl2 = new TableCell();
                Button button = new Button();
                button.ID = "raid" + i;
                button.Text = category[i];
                button.Click +=button_Click;

 private void button_Click(object sender, EventArgs e)
        {
            Response.Write(sender.ToString());
        }

现在我想为所有按钮添加点击事件,并希望获得触发了哪个按钮点击事件。 任何的想法? 回复于(sender.ToString()); OR Response.Write(e.ToString());返回公共属性。

1 个答案:

答案 0 :(得分:0)

您可以使用CommandArgument属性。

button.ID = "raid" + i;
button.Text = category[i];
button.Click +=button_Click;
button.CommandArgument +=category[i];


private void button_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    string category = btn.CommandArgument;
}