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 :

TreeView et OnClick event


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 49
    Par défaut TreeView et OnClick event
    Bonjour,

    J'ai un soucis pour le gestion d'un treeview. Prenons l'exmeple du treeveiw ci dessous.

    Level_1
    -Level_11
    -Level_12
    --Level_13

    Je souhaite déclencher des actions en code-behind sur un Onclick (mise a jour de variable de session et redirection) uniquement sur Level_13, les autres niveaux étant géré naturellement par le composant.

    Quelles solutions puis je mettre en oeuvre ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 49
    Par défaut Bonne ou mauvaise solution
    Voila la solution que j'ai trouvé

    Lors de la création de la feuille qui devrait générer un OnClick :
    je rempli un HiddenField avec une string de commande et je génère un "pseudo" postback en recopiant une chaine __doPostBack() d'un élément existant

    Ce "pseudo" post back genere l'erreur suivante :
    Argument de publication ou de rappel non valide. La validation d'événement est activée via <pages enableEventValidation="true"/> dans la configuration ou via <%@ Page EnableEventValidation="true" %> dans une page. Pour des raisons de sécurité, cette fonctionnalité vérifie si les arguments des événements de publication ou de rappel proviennent du contrôle serveur qui les a rendus à l'origine. Si les données sont valides et attendues, utilisez la méthode ClientScriptManager.RegisterForEventValidation afin d'inscrire les données de publication ou de rappel pour la validation.
    La solution se trouve sur le lien suivant :
    http://blog.developpez.com/nico-pyri...un_click_de_bo
    On ajoute la procedure de render()

    Dans le page_load, je teste la valeur du hidden field:
    - si vide : rien a faire
    - si !vide : j'interprète ma commande et je déclenche mes traitements

    ------------------------------------------------------
    Ajout de la commande javascript
    ChildNode.NavigateUrl = "javascript:document.getElementById('" + HiddenField1.ID + "').value = \"" + CmdString+ "\";__doPostBack('TreeViewStructure','sTOTO')";

    Erreur validation evenement
    protected override void Render(HtmlTextWriter writer)
    {
    Page.ClientScript.RegisterForEventValidation(TreeViewStructure.ID, "TOTO");
    base.Render(writer);
    }

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

Discussions similaires

  1. TButton OnClick Event
    Par Soulama dans le forum Delphi
    Réponses: 5
    Dernier message: 05/02/2007, 11h31
  2. [VB.NET] ImageButton dynamique et event onclick
    Par skoozy dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/06/2006, 14h44
  3. document.createElement & event onclick
    Par tartanfion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/01/2006, 18h33
  4. Relier l'évenement OnClick d'un MenuItem à un event éxistant
    Par therouxy dans le forum Composants VCL
    Réponses: 6
    Dernier message: 25/11/2005, 09h48
  5. [C#] TreeView Click Event
    Par bel.laurent dans le forum Windows Forms
    Réponses: 18
    Dernier message: 29/10/2005, 13h22

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