Asp.net C# AddEventHandler

Un problème avec votre ordinateur, l'un de vos logiciels ou le code que vous programmez, venez poser vos questions ici.
Forum rules
- AVIS IMPORTANT -
Les propos tenus sur le forum de ce site n'engagent que leurs auteurs et ne sont en aucun cas sous la responsabilité de AutoZoneQuébec.com ou d'Essai-Auto.com. Nous nous réservons le droit d'effacer tout message jugé désobligeant ou offensant.
Post Reply
User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am
Asp.net C# AddEventHandler

Post by Minigo » Tue Aug 03, 2010 9:23 pm

J'ai un petit code simple qui ne fonctionne pas.
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>

User avatar
Salsa
Dieu de la modération
Posts:6161
Joined:Fri Jun 05, 2009 9:44 am
Location:Dans mes culottes, à Gatineau

Re: Asp.net C# AddEventHandler

Post by Salsa » Wed Aug 04, 2010 9:38 am

Ah...oui... ah hummmm







:ange:
Ford F150 XLT 2018 4x4 SuperCrew Edition Spéciale Sport, FX4, moteur 3.5L EcoBoost GIVE ME BOOST!!!!!!
et derrière
JayFlight 28BHBE 2014

Char de tous les jours Honda Civic 2017 berline

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: Asp.net C# AddEventHandler

Post by Minigo » Wed Aug 04, 2010 10:00 am

CBR!!!
Toi aussi tu comprends pas pourquoi ca marche pas hein??? :)

Si tu veux, je peux te sortir le résultat de la stack!!! :berk1:

User avatar
hyksos
Posts:4165
Joined:Sat Jun 06, 2009 8:58 pm

Re: Asp.net C# AddEventHandler

Post by hyksos » Wed Aug 04, 2010 10:55 am

Tu peux pas modifier une page web dynamiquement une foit qu'elle est loadé, soit tu passe par un script client ou tu ajoute ton code dans ta Page_Load et tu update la page: http://www.aspnettutorials.com/tutorial ... sharp.aspx" onclick="window.open(this.href);return false;
Image

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: Asp.net C# AddEventHandler

Post by Minigo » Wed Aug 04, 2010 1:32 pm

hyksos wrote:Tu peux pas modifier une page web dynamiquement une foit qu'elle est loadé, soit tu passe par un script client ou tu ajoute ton code dans ta Page_Load et tu update la page: http://www.aspnettutorials.com/tutorial ... sharp.aspx" onclick="window.open(this.href);return false;
Même si le bouton 1 force un postback?

Le bouton 2 s'affiche quand je click sur le bouton 1.

Mais cette ligne:

btn2.Click += new EventHandler(this.btn2_Click);

n'a aucun effet...

User avatar
hyksos
Posts:4165
Joined:Sat Jun 06, 2009 8:58 pm

Re: Asp.net C# AddEventHandler

Post by hyksos » Wed Aug 04, 2010 1:43 pm

Chu pas un pros en ASP (En fait je déteste ça lol), mais selon moi ton object btn2 devient unreachable à cause du postback, tu dois donc le recréer au Page_Load. Garde toi un flag static dans ta class pour savoir si tu doit le créer ou non dans le Page_Load, tu modifi ce flag dans ton Button1_Click.
Image

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: Asp.net C# AddEventHandler

Post by Minigo » Wed Aug 04, 2010 1:50 pm

Pas fou!!!!

J'en r'donne des news...

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: Asp.net C# AddEventHandler

Post by Minigo » Wed Aug 04, 2010 1:52 pm

hyksos wrote:Chu pas un pros en ASP (En fait je déteste ça lol),
Moi, mon client est en train de me le faire détester...

Post Reply