Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 图像按钮的ASP.NET事件处理程序未启动_C#_Asp.net_Imagebutton - Fatal编程技术网

C# 图像按钮的ASP.NET事件处理程序未启动

C# 图像按钮的ASP.NET事件处理程序未启动,c#,asp.net,imagebutton,C#,Asp.net,Imagebutton,我只是想将onClick事件添加到动态创建的ImageButton,这应该很容易,但由于某些原因,无论我做什么,我的click事件都不会触发 我创建了几个图像按钮并将它们添加到表中 下面是我的代码: TableCell cell= new TableCell(); ImageButton pic= new ImageButton(); pic.Click += new ImageClickEventHandler(pic_Click); pic.ImageUrl = "~/Pictures/"

我只是想将
onClick
事件添加到动态创建的
ImageButton
,这应该很容易,但由于某些原因,无论我做什么,我的click事件都不会触发

我创建了几个图像按钮并将它们添加到表中

下面是我的代码:

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\u Load
方法来做这件事的。

为什么不遵循这种格式? .aspx


正如上面所说,在页面的PreInit事件期间,您应该注意动态控件


你提到你没有在页面加载中这样做,我想你是在以后做的。如果您遵循上述指导原则,您的按钮的单击事件处理程序将运行。

您能验证您是否确实触发了一个单击事件吗?你能在静态元素上成功地使用相同的事件绑定吗?如果你能再帮我一点,我读了你发给我的链接,但我不太明白我应该做什么?我的所有动态控件都是根据用户的选择创建的,如何在PreInit事件中重新创建它们?
<asp:ImageButton ID="ImageButton1" runat="server" Height="100px" ImageUrl="~/Images2/addtocartbutton.jpg" Width="250px" OnClick="ImageButton1_Click" />
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{

}