2013-05-06 150 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事件中重建它們,以便它們在加載事件期間可用。

相關問題