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 :

Gestion d'un Hidden avec Custom Control + Javascript


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut Gestion d'un Hidden avec Custom Control + Javascript
    Salut tout le monde.

    Voilà mon problème :

    J'ai un Custom Control, hérité de Panel, dans lequel j'ajoute un HiddenField.
    Dans ce Custom Control, j'ajoute des références vers mes classes .js et initialise la nouvelle instance de celle-ci dans mon Custom Control. En gros, cela fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public class MonCustomControl:Panel
    {
    //Mon hidden
    private HiddenField hidden = new HiddenField();
     
    protected override void OnInit(EventArgs e)
    {
          /*Register des fichiers JS ici */
     
          this.hidden.ID = "MonHidden";
          this.Controls.Add(this.hidden);
     
    }
     
    protected override void OnLoad(EventArgs e)
    {
          //Ici, je vais créer une nouvelle instance de ma classe js
          ScriptManager.RegisterStartUpScript(this,typeof(MonCustomControl),"key",string.Format("var maClasse = new MaClasse('{0}')",this.hidden.ClientID));
     
    }
     
    }
    Mon Custom Control est placé tout simplement sur ma page aspx de cette façon, dans un UpdatePanel, afin de conserver les données du Hidden. J'ai un bouton sur lequel j'ajoute un trigger lié a l'updatePanel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:UpdatePanel runat="server" ID="UpdatePanel">
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="ButtonValidate" EventName="Click" />
                            </Triggers>
                            <ContentTemplate>
                                <cc1:MonCustomControl runat="server" ID="MonCustomControl1"></cc1:MonCustomControl >
                            </ContentTemplate>
                        </asp:UpdatePanel>
    Enfin, dans mon aspx.cs, j'ajoute un OnClientClick sur mon bouton qui va appeler une méthode de ma classe js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.ButtonValidate.OnClientClick = "maClasse.FillHidden();";
    Et donc, je récupère bien la donnée côté cliente, en faisant un alert() dans ma méthode FillHidden du contenu de mon Hidden, je vois bien ce même contenu. Par contre, dès que j'essaie ensuite de la récupérer côté serveur, de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     string myValue = this.hidden.value
    , j'ai une valeur vide.

    J'ai alors utilisé Fiddler pour regarder, et il ne m'affiche même pas mon HiddenField dans les WebForms de SessionsInspector...

    Je ne comprends pas du tout pourquoi ce Hidden est vide et de plus invisible !

    Merci de votre aide .

  2. #2
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    A noter que si je mets le Hidden directement sur la page aspx, ça fonctionne.

    Mais je voudrais bien qu'il soit dans mon Contrôle, ce serait quand même plus autonome...

  3. #3
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    Bon et bien je vais garder le fait de mettre le Hidden directement dans ma page aspx, merci pour ceux qui ont regarder mon sujet ^^.

  4. #4
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Comme tu ajoutes ton contrôle dynamiquement, il doit être rechargé à chaque fois... est-ce que le rechargement n'est pas "oublié" ?

  5. #5
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    Oui, il est bien rechargé :/.

  6. #6
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    Pour l'instant, je vais marquer ce sujet comme résolu, c'est vraiment incompréhensible, et de toute façon, le hidden fonctionne s'il est mis directement sur la page aspx.

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

Discussions similaires

  1. Heritage avec custom Control
    Par amandinerenard dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 21/10/2008, 14h24
  2. [Custom control] - Javascript et postback ?
    Par Pongten dans le forum ASP.NET
    Réponses: 20
    Dernier message: 07/08/2007, 19h07
  3. gestion des sessions avec le controller struts
    Par don'de dans le forum Struts 1
    Réponses: 4
    Dernier message: 18/12/2006, 19h21
  4. [PHP-JS] Gestion d'un personnage avec GD et javascript
    Par allserv dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2006, 13h30
  5. [WebForms]integration javascript avec bindage control
    Par bleuerouge dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 05/07/2006, 13h45

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