Gestion du click

Résolu
fcampagne
Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
- 29 mai 2006 à 16:57
smoitry
Messages postés
69
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007
- 30 mai 2006 à 14:02
Bonjour
J'ai une page principale aspx qui instancie une classe que j'ai réalisé et placé dans le repertoire app_code
Dans cette classe j'ai crée un handler qui lors d'un clique sur un bouton créer dans ma classe doit lever l'appel a une methode appartenant a cette meme classe
Le probléme est lorsque sur la page principale je clique sur le bouton de ma classe rien ne se passe
Je ne comprend pas du tout!
ma classe :
            Protected WithEvents addcolumn As ButtonField
            ...
            addColumn = New ButtonField()
            addColumn.CommandName = "Add"
            addColumn.DataTextField = "nom"
            addColumn.CausesValidation = False
            addColumn.ButtonType = ButtonType.Button
            .Columns.Add(addColumn)
            AddHandler mongridview.RowCommand, AddressOf gv_RowCommand

    Sub gv_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
        HttpContext.Current.Response.Write("test
")
    End Sub

Si quelqu'un peux m'aider, help!!!

6 réponses

fcampagne
Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
3
30 mai 2006 à 10:22
Ca y est le pb est résolu
Il faut bien effectivement ajouter les éléments dans le page_init de la webform
Je récupére les éléments que ma classe créer dynamiquement et je l'ai place dans le page_init et hop nikel ca marche
Donc moralité, il faut bien suivre le cycle de vie d'une page asp pour codé correctement!
Merci encore a jesusonline qui maitrise vraiment bien son sujet et qui m'a bien aider une fois de plus!
3
smoitry
Messages postés
69
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007

30 mai 2006 à 09:34
J'ai EXACTEMENT le même problème !!!

J'allais poser une nouvelle question sur le forum, mais je vois que l'on bute sur la même chose !

Alors je vais compléter ta question par la mienne : pourquoi la gestion interne à un contrôle personnalisé du click ne fonctionne que dans un WebUserControl (fichier ascx) ?

Eh oui car j'ai fait un essai pour constater que mis dans un fichier .ascx, ça marche, prenons le code suivant :

protected
Literal litResultat;

protected
override
void CreateChildControls()
{

   base.CreateChildControls();

   LinkButton l1 =
new
LinkButton();
   l1.ID =
"l1";
   l1.Text =
"LinkButton1";
   l1.Click +=
new
EventHandler(linkbutton_Click);
   Controls.Add(l1);

   Literal lit1 =
new
Literal();
   lit1.Text =
" ";
   Controls.Add(lit1);

   LinkButton l2 =
new
LinkButton();
   l2.ID =
"l2";
   l2.Text =
"LinkButton2";
   l2.Click +=
new
EventHandler(linkbutton_Click);
   Controls.Add(l2);

   Literal lit2 =
new
Literal();
   lit2.Text =
"
";
   Controls.Add(lit2);

   Literal lit3 =
new
Literal();
   lit3.Text =
" ";
   Controls.Add(lit3);
   litResultat = lit3;

   Literal lit4 =
new
Literal();
   lit4.Text =
"
";
   Controls.Add(lit4);
}

void linkbutton_Click(
object sender,
EventArgs e)
{

   if (litResultat !=
null)
      litResultat.Text = ((
LinkButton)sender).ID;
}

Faites un copier/coller d'une part dans un WebCustomControl (fichier .cs placé dans un projet de type WebControlLibrary), et également dans un WebUserControl (fichier .ascx placé dans le site web), puis placez ces deux contrôles sur une page aspx, et lancez le projet. Essayez, vous verrez que seul le contrôle .ascx gère le clic ...

La question est : POURQUOI ?

Note pour Jesusonline : c'est ça qui me tracasse depuis jeudi
0
fcampagne
Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
3
30 mai 2006 à 09:51
Rectification
Meme dans une page aspx standard, la création dynamique de bouton et l'association d'événement ne marche pas.
C dingue ce truc!!!
voila mon code
'declaration du bouton
Protected WithEvents delete As New Button
 'affectation de ses propriétés
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        Response.Write("dans init")
        delete.Text = "Supprimez le processus"
        AddHandler delete.Click, AddressOf delete_click
    End Sub
'gestion du click
    Protected Sub delete_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles delete.Click
        Response.Write("dans bouton delete")
    End Sub
'ajout du bouton dans la page
PlaceHolder.Controls.Add(delete)

J'avoue que la je suis a cour d'idée, et en prime un beau mal de crane qui s'annonce
0
smoitry
Messages postés
69
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007

30 mai 2006 à 10:47
Heureux que tu ais trouvé la solution ! Malheureusement ça ne solutionne pas mon problème car de mon côté je ne crée pas les contrôles dans une webform mais dans un contrôle personnalisé ... Pas grave ! Je fais un nouveau post !

Juste une question : jesusonline t'as répondu en MP ? Parce que je ne vois pas ses posts ! C'est pas un bug du forum ?

A+

Stéph.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fcampagne
Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
3
30 mai 2006 à 13:36
Nen nen il a répondu directement au post
0
smoitry
Messages postés
69
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007

30 mai 2006 à 14:02
Je le vois pas ???
0