2013-05-06 110 views
0

我有一个aspx页面来搜索数据库中的某些内容。 我想把结果放在我编程生成的表格中,我想要一个按钮来下载数据。以编程方式添加的点击事件不会触发

代码中使用生成按钮

TableCell download = new TableCell(); 
LinkButton downloadBt = new LinkButton(); 
downloadBt.Text = "Télécharger"; 
downloadBt.Click += new EventHandler(DownloadConstat); 
download.Controls.Add(downloadBt); 
tr.Controls.Add(download); 

的方法来执行,当按钮

protected void DownloadConstat(object sender, EventArgs e) 
{ 
    Debug.WriteLine("download"); 
} 

用户点击的问题是,该方法不叫上点击时按钮。

+0

您必须在每个回传中添加控件才能保留其状态。所以在页面加载时再次添加你的按钮,并且它会工作 – 2013-05-06 10:03:27

+0

我会建议打开你的JavaScript控制台,看看页面上是否有任何脚本错误导致代码隐藏回调触发。 – 2013-05-06 10:03:42

回答

2

您必须添加按钮并在LoadComplete-Page事件之前分配ist事件处理程序。
ASP.NET页面的生命周期决定了如何以及何时添加动态控件。

查看ASP.NET-Page-LifeCycle

0

创建动态控件之前,它是好主意,通过页面生命周期。您所遇到的问题是因为在加载事件中,动态创建的控件正在丢失。因此,要使这些控件可用,必须在page_init事件中重建它们,以便它们在加载事件期间可用。

相关问题