2014-01-19 127 views
1

我只是試圖添加onClick事件動態創建ImageButton,它應該很容易,但由於某種原因,我的點擊事件不會觸發,無論我做什麼。ASP.NET事件處理程序的圖像按鈕沒有觸發

我創建了幾個圖像按鈕,並將它們添加到表中。

這是我對於該位碼:

TableCell cell= new TableCell(); 
ImageButton pic= new ImageButton(); 
pic.Click += new ImageClickEventHandler(pic_Click); 
pic.ImageUrl = "~/Pictures/" + list[j]; 
pic.Width = 180; 
pic.Height = 150; 
pic.BorderStyle = BorderStyle.Inset; 
pic.BorderColor = Color.DarkRed; 
cell.Controls.Add(pic); 
row.Cells.Add(cell); 

,我的方法是這樣的:

public void pic_Click(object sender, ImageClickEventArgs e) 
{ 
    //codehere 
} 

,它只是不工作,創建並添加到表圖像按鈕按照計劃,但OnClick只是沒有做它的工作..我也試過像這樣添加事件:

pic.Click += pic_Click; 

但它是一樣的。只是說,我不是在Page_Load方法中這樣做。

+0

你能否確認你是否正在觸發點擊事件?你可以在靜態元素上成功使用這個相同的事件綁定嗎? –

回答

2

頁的PreInit事件中你應該照顧你的動態控制,因爲它說here

你提到你沒有在Page_Load中做這件事,我假設你在稍後的時間做。如果你遵循上面的指南,你的按鈕的點擊事件處理程序將運行。

+0

我會檢查一個,如果它的工作,如果你能幫我多一點,我讀你給我的鏈接,但我標記你的答案 –

+0

不太明白我應該做什麼?我的所有動態控件都是根據用戶選擇創建的,我如何在PreInit事件中重新創建它們? –

+0

沒關係,我想我明白了,謝謝你的幫助 –

0

爲什麼不遵循這種格式? 的.aspx

<asp:ImageButton ID="ImageButton1" runat="server" Height="100px" ImageUrl="~/Images2/addtocartbutton.jpg" Width="250px" OnClick="ImageButton1_Click" /> 

.aspx.cs

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 

} 
+0

因爲我從代碼創建圖像按鈕... –

相關問題