Au départ, j'ai un bouton.
Quand je clique sur ce bouton, un 2è autre bouton apparait et je lui insère un event (btn2_Click) de façon dynamique.
Lorsque je clique sur ce 2è bouton, l'événement n'est jamais appelé.
J'ai cherché partout sur le web, c'est cette façon de faire qu'on dit, mais ça marche pas!
Code: Select all
protected void Page_Load(object sender, EventArgs e)
{
}
// Cette fonction est appelé quand je clique sur le premier bouton.
public void Button1_Click(object sender, EventArgs e)
{
Button btn2 = new Button();
btn2.ID = "TEST";
btn2.Text = "X";
btn2.Click += new EventHandler(this.btn2_Click);
Panel1.Controls.Add(btn2);
}
public void btn2_Click(object sender, EventArgs e)
{
Label2.Text = "EVENT!!";
}
Code ASPX
Code: Select all
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="SITE_HD_ADMIN_test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblControlList" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>