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

本文关键字:按钮 事件 click net 动态 创建 asp | 更新日期: 2023-09-27 18:03:10

我想在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());
        }

现在我想为所有按钮添加单击事件,并希望获得哪个按钮单击事件已被触发。任何想法?Response.Write (sender.ToString ());或Response.Write (e.ToString ());返回常用属性。

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

可以使用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;
}