动态控制及其事件

时间:2009-11-14 05:17:12

标签: c# dynamic-controls

我们在每个行的网格内创建动态文本框和按钮。现在我们要为每个按钮创建click事件。使用ITemplate在网格内创建按钮。

代码:

ImageButton imbtnAdd = new ImageButton();
imbtnAdd.ID = "imbtn" + columnName;
imbtnAdd.ImageUrl = "btn_add_icon.gif";
imbtnAdd.Width = 20;                    
container.Controls.Add(imbtnAdd);

错误:

我使用了imbtnAdd.Click += new ImageClickEventHandler(imbtnAdd_Click);,但它显示了错误消息

  

imbtnAdd_Click不存在

2 个答案:

答案 0 :(得分:2)

ImageButton imbtnAdd = new ImageButton();
imbtnAdd.ID = "imbtn" + columnName;
imbtnAdd.ImageUrl = "btn_add_icon.gif";
imbtnAdd.Width = 20;             

imbtnAdd.Click += imbtnAdd_Click;

container.Controls.Add(imbtnAdd);

// ...

private void imbtnAdd_Click(object sender, EventArgs e)
{
    // handle event
}

答案 1 :(得分:1)

Jrista的回答是正确的。

虽然,如果你想为所有按钮实现不同的处理程序,而你使用的是.Net 3.0或更高版本,你可以使用lambdas:

imbtnAdd.Click += (object sender, EventArgs e) =>
{
    // Code handling code goes here...
};