2012-10-08 55 views
1

如果我動態創建ImageButton並添加到表格單元格的ImageButton細胞表裏面不起作用

TableRow tr = new TableRow(); 
TableCell tc = new TableCell(); 
ImageButton imagebutton= new ImageButton(); 
imagebutton.imageurl=imageurl; 
imagebutton.click+= new System.Web.UI.ImageClickEventHandler(click); 
tc.Controls.Add(imagebutton); 
tr.Controls.Add(tc); 
Table1.Rows.Add(tr); 

click事件犯規的工作這一點。

但是,如果我使用Panel而不是表imagebutton的作品。 Morevoer如果我直接添加imagebutton到page它也可以。 但我需要在table cell中儲存imagebutton

什麼問題? 如何使工作imagebutton裏面asp table

的方法點擊是:

protected void click(object sender, EventArgs e) 
{ 
     Response.Write("<script type='text/javascript'>alert('OK!');</script>"); 
} 

回答

1

什麼是問題?

這似乎是一個典型的asp.net頁面生命週期問題。原因可能是,點擊應該處理的時間,你的按鈕以及你的表格不存在,因爲你稍後在頁面生命週期中創建它(比如說在pre_render中),或者你只在不在時創建回發,或在另一個控制事件處理程序中。

如何使工作imagebutton裏面的ASP表?

你的表和按鈕的創建,以及點擊處理結合應位於

的Page_Load(甚至更好,在初始化,使用動態控件view_state時)

的代碼應該運行是否在回發或不。

希望這會有幫助

+0

你是對的。我解決了這個問題。當PageLoad再次出現時,系統忘記將點擊事件分配給imagebutton.Thanks! – Nurlan