动态添加按钮的onclick事件

时间:2012-02-27 14:49:33

标签: c# asp.net event-handling

我需要将onclick事件添加到动态添加的button,但是当我点击按钮时,不会触发onclick事件。我看到了一些解决方案,比如link,它说我应该创建控件并在每次有请求时将事件附加到page_initpage_load,但是,这会使网站成为网站吗?如果我要添加很多控件,会非常慢吗?

2 个答案:

答案 0 :(得分:4)

是的,必须重新创建动态控件,如果您想要访问它们并在回发时触发事件。

如果页面上有如此多的控件使您的网站速度很慢,则会出现设计问题。重新考虑你的设计,这样你就不会在一个页面上有这么多控件(可能是几页/标签?)。

答案 1 :(得分:0)

  

将内存分配给Init Page Event

中的按钮
Button b = new Button();
b.Click += new EventHandler(b_Click);

void b_Click(object sender, EventArgs e)
{

}

正如@Oded所说,这种方法可以创建设计问题。

如果你在你的页面中有一个Div控件,它应该使用这个Button,那么你可以使用CSS样式来正确对齐和正确放置。


你有两个选择。

  1. 在运行时添加控件
  2. 在设计时添加控件
  3. 当然,如果两种情况下都有很多控件,那么网站会变慢。由于两个选项都将记忆 BUT ,因此Page Life Cycle的结尾,所有控件都将获得disposed