AddHandler ne se déclenche pas [Résolu]

Signaler
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
-
Messages postés
1
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
22 avril 2009
-
Bonjour,
je crée un control en dynamique et je lui assigne un évènement, mais ce dernier ne se déclenche pas ..

Quelqu'un a t il une idée ?

            Dim limgbtnCancel As New ImageButton
            limgbtnCancel.ID = "ImgBtnCancel"
            limgbtnCancel.ImageUrl = "Images/ActionCancel.gif"
            limgbtnCancel.AlternateText = "Cancel"
            AddHandler limgbtnCancel.Click, AddressOf limgbtnCancel_Click
            cell.Controls.Add(limgbtnCancel)

  Private Sub limgbtnCancel_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Try

        Catch ex As Exception
            Response.Write("Erreur ! : " & ex.Message.ToString)

        End Try
    End Sub

5 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

pour déclencher des evenements les controles doit être rajouté avant le page_load c'est à dire au plus tard au init_complete entre ces 2 events asp.net va regarder si la page vient d'un postback et à partir de quel control, si le controle qui a fait le postback n'est pas présent dans cette méthode alors ton event ne sera jamais déclenché.

<hr />Cyril - MVS - MCP
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
1
Je suis en .Net 2.0
J'ai l'impression que lors du PostBack mon Objet n'existe plus ..
Messages postés
80
Date d'inscription
mardi 29 juin 2004
Statut
Membre
Dernière intervention
18 décembre 2006
1
Bonjour,
Ton controle est créé lors du load de ta page??
Si il n'est pas créé sur le load ca ne marchera pas... (enfin je pense...)

Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
1
C'est exactement cela ..
Mon controle n'y figure pas ..

Je fais autrement ..
Merci Cyril tes réponses sont toujours très pertinentes
Messages postés
1
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
22 avril 2009

bonjour,

j'ai tout fais, enfin presque !

moi dans mon controle j'ai un linkbutton auquel je lui associe un event mais il ne se pass rien voyer par vous même :

VB :
Public Class WebCustomControl1
    Inherits WebControl

    Public WithEvents LinkButton1 As LinkButton
    Public Event Ev_Event As EventHandler

    Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
        InitializeComponent()
        MyBase.OnInit(e)
    End Sub

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)
    End Sub

    Protected Overrides Sub CreateChildControls()
        Me.Controls.Add(LinkButton1)
        MyBase.CreateChildControls()
    End Sub

    Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
    End Sub

    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
        EnsureChildControls()
        RenderChildren(writer)
    End Sub

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        InitLinkButton("LinkButton1", "LinkButton")
    End Sub

    Private Sub InitLinkButton(ByVal ID As String, ByVal Text As String)
        LinkButton1 = New LinkButton()
        LinkButton1.ID = String.Format("Link_{0}", ID)
        LinkButton1.Text = Text

        Dim Ev_Event As New EventHandler(AddressOf LinkButton1_Click)

        AddHandler LinkButton1.Click, Ev_Event
        'AddHandler LinkButton1.Click, AddressOf LinkButton1_Click

    End Sub

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)
        CreateChildControls()
    End Sub

End Class

ASPX :

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="calendrierHebdo._Default" %>

<%@ Register Assembly="LibControle" Namespace="LibControle" TagPrefix="cc2" %>

<!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>Untitled Page</title>
</head>

    <form id="form1" runat="server">
       
   

        <cc2:WebCustomControl1 ID="WebCustomControl1_1" runat="server" />   
   

    </form>

</html>

J'ai bien initialisé avant le load mais poutant lorsque je click sur le bouton il ne passe pas dans
LinkButton1_Click.

Alors je me tourne vers vos connaissance pour me sortir de là.

Merci de votre aide !