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 :

Proprieté CSS d'un Panel et Postback


Sujet :

ASP.NET

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut Proprieté CSS d'un Panel et Postback
    Bonjour,

    Je parse un fichier XML.
    Je crée via le code behind différents controls correspondant au balise de mon fichier XML, que j'ajoute dans un panel que j'ai créé manuellement (Panel1).
    Je remplis mon Panel dans le Page_Load

    Cependant une fois la page chargée, l'utilisateur peut modifier les contrôles (taille, position...). Je veux, une fois les modifications terminées, enregsitrer ces modifications en XML. Cependant, les valeurs de mes contrôles sont revenues à l'état initial.
    Comment puis-je procéder afin que dans mon code behind je puisse retrouver mes controles mis à jour ?

    Merci d'avance pour votre aide

  2. #2
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Peux-tu nous mettre un peu de code ?

    Je pense qu'il faut que tu entoures ta création de controles d'un if(!isPostBack) {...}

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Salut,

    Si j'ai bien compris tu construit dynamiquement les contrôles de ta page ?

    Avant de commencer je te recommande de surtout éviter ceci, sauf si tu n'a pas le choix, car il faut une bonne maitrise de la gestion des controles et du viewstate que fait l'aspnet.
    En gros tu deviens vite fou a essayer de comprendre.

    Essaie donc de regarder si avec des controles dynamiques ou masquables (repeaters/userControl/contentPlaceHolders etc...) tu ne peux pas t'en sortir.

    Bref:
    Lorsque tu crée un contrôle en code behind, il faut le faire a chaque opération de rendu, donc a chaque fois que tu passe dans le code de ta page (pas une seule fois donc).

    Il est recommandé de faire tes ajouts de controles dans le page Init, car la restauration du viewstate est effectuée entre le init et le load.

    Ceci dit donc, tu recrée tes contrôles dans le init, le viewstate restaure tes données et les valeurs saisies 'retombent' dans les bons contrôles, ce qui te permet de les lire et de les modifier.

    Version courte : Crée tes contrôles dans ton Page_Init

    Une vidéo avec des exemples pour faire ceci :
    http://www.asp.net/ajax/videos/how-t...-to-a-web-page

    Pour aller un peu plus loin:
    http://weblogs.asp.net/infinitiesloo...t-1_2900_.aspx

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Je pense qu'il faut que tu entoures ta création de controles d'un if(!isPostBack) {...}
    Justement pas !

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void tableXML_OnSelectedIndexChanged(object sender, EventArgs e)
    {
         AfficheObjet();
     
     
    }
     
    protected void UpdateButton_Click(object sender, EventArgs e)
    {
            AfficheObjet();
     
    }
    La méthode AfficheObjet() récupere tous les objets à afficher et créer les différents controles.

    Elle est appelée quand l'utilisateur selectionne un fichier XML présent dans un gridView

    Une fois selectionné, ce fichier s'affiche bien, une fois modifie, je voudrais que le boutton Update prenne en charge les changements

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Oula,

    On doit pas parler la même langue tu m'as perdu.
    Ton dernier message n'a rien a voir avec ton post initial.

    Sois plus clair dans ta demande car la je vais avoir quelques difficultés à t'aider.

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    No soucy !

    As-tu cependant une idée ?

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Oui j'ai une idée :

    Commence par LIRE ce que je t'écris, et EXPRIME ta demande clairement.

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Je parse un fichier XML.
    Je crée via le code behind différents controls correspondant au balise de mon fichier XML, que j'ajoute dans un panel que j'ai créé manuellement (Panel1).
    Mon Panel est rempli une fois que l'utilisateur à selectionner un fichier XML dans un gridView

    Cependant une fois la page chargée, l'utilisateur peut modifier les contrôles. Je veux, une fois les modifications terminées, enregsitrer ces modifications en XML.

    Cependant, les valeurs de mes contrôles sont revenues à l'état initial.
    Comment puis-je procéder afin que dans mon code behind je puisse retrouver mes controles mis à jour ?

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Version courte : Crée tes contrôles dans ton Page_Init

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Je ne peux pas car au lancement de l'application je ne dois pas créer mes controles ! Ils sont crées seuelement si l'utilisateur selectionne une ligne dans le gridview

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Peut etre peux tu séparer en 2 pages ?

    Une page qui permet de selectionner dans le gridview, et qui redirige vers la seconde, qui elle construit les contrôles dynamiquement (dans le page_init) ?

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Ouais bonne idée !

    Mais en faite après diverses tentatives, j'ai l'impression que le viewstate ne garde pas en mémoire les propriétés CSS qui ont été changées. Car dans mon cas, l'utilisateur peut modifier la taille, le margin des composants mais lors du post back ces modifications n'ont pas été enregistrées .

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Ah, j'ai cru comprendre que l'utilisateur ne modifiait que les contenus des contrôles.

    En fait il peut modifier leur structure et présentation ? (css, taille, etc... ?? ).

    Comment c'est fait avec du code javascript qui permet de modifier les infos ?

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Ouais avec du javascript ! L'utilisateur modifie la taille, l'image de fond, l'emplacement

  16. #16
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Ok,

    Aspnet ne remonte que les informations qu'il considére que tu as le droit de changer : Typiquement pour une textBox, son texte, si tu change la taille, la couleur ou autre tu dois implémenter le mecanisme toi même.

    Donc en gros a la fin des modifs, tu dois 'lire' les modifications de tes contrôles en javascript et les faire remonter au serveur d'une manière ou d'une autre,

    Tu peux par exemple écrire ces informations dans un hiddenField (contrôle aspnet).

    - Modif par l'utilisateur
    - Ecriture des modifs via javascript dans un hiddenField.
    - PostBack
    - Lecture du(des) hiddenField coté serveur et sauvegarde XML.

  17. #17
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Merci pour ton aide

    Ca ne va pas être du gateau, je m'attendais à quelque chose de plus simple

  18. #18
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Oui la tu va galérer...

    Pense a placer le post en 'Résolu' si tu n'as pas d'autres questions.

  19. #19
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Je m'en suis sorti !

    Merci encore pour ton aide

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

Discussions similaires

  1. récuperer les proprietés css d'un a:hover
    Par tiben58888 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/04/2010, 14h55
  2. RegExp et les proprietes Css!?
    Par Zineb1987_UNI dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/11/2009, 09h38
  3. panel ajax + raffraichissement + postback
    Par p_mehdi dans le forum ASP.NET
    Réponses: 22
    Dernier message: 05/06/2009, 21h24
  4. recuperer la valeur d'une propriete css
    Par poupouille dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2008, 16h36
  5. Modifier en javascript une propriete css?
    Par wormseric dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 31/10/2006, 17h36

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