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 :

impossible de récuperer dans une page aspx une variable défini dans .aspx.cs


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut impossible de récuperer dans une page aspx une variable défini dans .aspx.cs
    Hello,

    Cela peut paraître bête mais, je n'arrive pas à récupérer ma variable de type "protected String maVar" défini dans ma page MaPage.aspx.cs, dans la page de mise en forme MaPage.aspx.

    Je n'ai pourtant rien changé du code généré :s

    Voici un petit extrait de ma page aspx.cs
    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
    24
    25
    26
    27
    public partial class home : System.Web.UI.Page
        {
            private XmlDocument xmldoc;
    	    private String path = "Organisation-text.xml";
            protected String displaytexte = "";
     
            protected void Page_Load(object sender, EventArgs e)
            {
     
     
            }
     
            protected void Page_PreRender(object sender, EventArgs e)
            {
                FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                xmldoc = new XmlDocument();
                xmldoc.Load(fs);
                XmlNodeList xmlnode = xmldoc.GetElementsByTagName("sub-domain");
     
                displaytexte = "";
     
                for (int i = 0; i < xmlnode.Count; i++)
                {
                    XmlAttributeCollection xmlattrc = xmlnode[i].Attributes;
                    displaytexte = xmlnode[i].FirstChild.InnerText;
                }
            }
    Et ma page aspx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <body>
        <form id="organisation" runat="server">
        <%= displaytexte%>
        </form>
    </body>
    Impossible de voir ou est mon erreur :/

  2. #2
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    ta page passe dans l'evenement Page_PreRender ?

    perso je ne connais que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     protected override void OnPreRender(EventArgs e)
    {
        ///    bla bla...
        base.OnPreRender(e);
    }

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2003
    Messages : 108
    Points : 129
    Points
    129
    Par défaut
    c'est une erreur du compiler ou c'est que dans ta page c'est vide?
    si c'est le cas
    regarde au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    displaytexte = xmlnode[i].FirstChild.InnerText
    dans ta boucle for
    peut être que cette valeur est vide

    autre chose, est-ce fait exprès de ne pas avoir mis += pour l'affectation de ta variable dans la boucle?

  4. #4
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Arthis Voir le message
    ta page passe dans l'evenement Page_PreRender ?

    perso je ne connais que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     protected override void OnPreRender(EventArgs e)
    {
        ///    bla bla...
        base.OnPreRender(e);
    }
    Oui ça passe pourquoi?


    @mastervanou

    Erreur de compilateur, mais maintenant c'est reglé Je ne sais pas pourquoi il me faisait cette erreur, j'ai rien changé pour que cela marche.

    Sinon pour le += non c'était pas fais exprès, mais c'est maintenant reglé depuis ce week-end :p

  5. #5
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Et bien alors j'ai appris quelque chose aujourd'hui. Je ne connaissais pas ce raccourci.. je trouve cela étrange de ne pas à avoir appeler la méthode parente de la page mais bon.. si ca fonctionne selon tes besoins, c'est l'essentiel!

    à bientôt, en esperant me reveler alors plus pertinent

  6. #6
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    C'est comme cela que j'ai appris en tout cas ^^

    Tu as d'autres évènements dans le style: Page_Load, Page_PreRender, etc qui sont liés aux évènements de la page actuelle.

    A bientôt

  7. #7
    Membre habitué
    Inscrit en
    Décembre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2003
    Messages : 108
    Points : 129
    Points
    129
    Par défaut
    Et bien en fait Page_Load, Page_PreRender....c'est équivalent à OnLoad, OnPreRender

    C'est une question de perfomance et de sécurité, cela se joue au niveau de la valeur AutoEventWireUp de l'aspx, a savoir que si elle est à True, la page passera systématiquement dans tous les évènements qui lui sont associés, si c'est False alors il faut overrider les Evenements en fonction des besoins (OnLoad,OnInit...)

  8. #8
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Merci de cette précision Mastervanou!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2014, 20h01
  2. Réponses: 7
    Dernier message: 08/03/2011, 08h33
  3. Réponses: 7
    Dernier message: 26/04/2007, 12h04
  4. Réponses: 6
    Dernier message: 12/04/2006, 16h46
  5. Garder une dataset d'une page a une autre
    Par amika dans le forum Langage
    Réponses: 13
    Dernier message: 15/11/2005, 23h13

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