IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Obtenir le contrôle qui déclenche le PostBack


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Par défaut Obtenir le contrôle qui déclenche le PostBack
    Bonjour,

    J'ai une page avec plusieurs contrôle, crée dynamiquement, qui peuvent déclencher le PostBack.

    Je voudrai obtenir lors du PostBack le nom/ID du contrôle qui l'a déclenché ?


    Merci par avance de votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu peux trouver l'identifiant du contrôle avec le champ caché __EVENTTARGET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Control control = null;
      string ctrlname = page.Request.Params["__EVENTTARGET"];
      if (ctrlname != null && ctrlname != String.Empty)
      {
       control = page.FindControl(ctrlname);
      }

  3. #3
    Membre éclairé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Par défaut
    Oui j'ai déjà essayé cette solution et j'ai une erreur :
    Identifier expected.
    sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ctrlname = Page.Request.Params["__EVENTTARGET"]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim ctrlname As System.Collections.Specialized.NameValueCollection	
    	ctrlname = Page.Request.Params["__EVENTTARGET"]
    if (ctrlname != null && ctrlname != String.Empty) Then
      	'control = page.FindControl(ctrlname)
    	response.write(ctrlname)
    End if

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Les crochets ([ ]) c'est spécifique à C#, en VB.NET on utilise des parenthèses...

    Et ctrlname est de type String, pas NameValueCollection

  5. #5
    Membre éclairé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Par défaut
    Effectivement ca marche beaucoup mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim ctrlname As String
    	ctrlname = Page.Request.Params("__EVENTTARGET")
    if Not (ctrlname Is Nothing) AND ctrlname <> String.Empty Then
      	'control = page.FindControl(ctrlname)
    	response.write(ctrlname)
    End if
    Merci de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Savoir l'ID du controle qui déclenché un PostBack
    Par Wahid.Net dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/11/2007, 17h57
  2. [VB.NET]Contrôle qui ne s'affiche pas
    Par Bleuarff dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/08/2006, 20h07
  3. action qui déclenche plusieurs actions
    Par imane_bennouna dans le forum Struts 1
    Réponses: 6
    Dernier message: 08/08/2006, 15h48
  4. Réponses: 2
    Dernier message: 14/06/2006, 15h04
  5. Réponses: 5
    Dernier message: 26/09/2005, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo