在asp.net中为动态按钮添加单击事件

时间:2016-02-07 14:38:14

标签: c# asp.net

这是我的.aspx.cs代码:

public partial class Bus : System.Web.UI.Page
{    
    protected void btnSearchBus_Click(object sender, EventArgs e)
    {      
        foreach (Panel p in buses.Controls.OfType<Panel>())
        {   
            Button busSelectBtn = new Button();
            busSelectBtn.Click += btn_Click;
        }       
    }

    void btn_Click(object sender, EventArgs e)
    {
        //This part doesn't execute when the button is clicked
    }

}

当一个按钮&#34; btnSearchBus&#34;时,foreach循环执行。点击。 foreach循环遍历另一个Panel&#34; bus&#34;中的每个Panel。并为每个Panel创建一个按钮。

我想要做的是为每个创建的按钮添加一个单击(或onclick)事件。我检查了一些关于如何实现这一目标的帖子但是不幸运。我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

也许您可以像往常一样将点击事件与所需功能联系起来:

busSelectBtn.Click += new System.EventHandler(this.btn_Click);

在所述功能中,根据引发事件的特定按钮行事。

void btn_Click(object sender, EventArgs e)
{
    Button clickedButton;
    clickedButton = (Button) sender;

    //whatever you need depending which button it is the one clicked
}