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 :

pb avec Attributes.Add


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Par défaut pb avec Attributes.Add
    Bonjour,

    J'ai le code ci-dessous qui fonctionne mais pas dès la première fois.
    La première fois que je click sur le ButtonAffichage ça ne fonctionne pas car il essaie d'accéder au répertoire et non au non de fichier qui est dans le textbox. La deuxième fois c'est bon. Puis quand j'essai d'afficher un autre fichier, il affiche la précédente et il faut que je click à nouveau pour que ça affiche la bonne page.
    Quel est le problème?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    protected void Page_Load(object sender, EventArgs e){
    ...
     
    ButtonAffichage.Attributes.Add("onclick", "javascript: window.open('affiche_RSS.aspx?XML=" + TextBoxNomFlux.Text + "&XSL="+ fichierXSL + "&nbreJours="+ NombreJours +"','new_window','width=500,height=300,scrollbars=1,resizable=1');");
     
     
    ....
    if(!IsPostBacK)...
    }

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est normal.

    Tu construis ton javascript dans le code behind, donc à l'execution.
    Hors à ce moment là textboxNomFlux.text = ""

    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "javascript: window.open('affiche_RSS.aspx?XML=" + TextBoxNomFlux.Text + "&XSL="+ fichierXSL + "&nbreJours="+ NombreJours +"','new_window','width=500,height=300,scrollbars=1,resizable=1');"
    va donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "javascript: window.open('affiche_RSS.aspx?XML=&XSL=fichierXSL &nbreJours=NombreJours ','new_window','width=500,height=300,scrollbars=1,resizable=1');"
    C'est seulement lors du 2eme clic que textboxNomFlux.text aura sa valeur.

    Je te l'avais expliqué dans ton précédent topic à ce sujet

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    A mon avis tu devrais positionner ton attribut OnClick dans l'évènement qui a généré le postback (clic d'un bouton ?) plutôt que dans le onload.

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par Sphax
    Salut,

    A mon avis tu devrais positionner ton attribut OnClick dans l'évènement qui a généré le postback (clic d'un bouton ?) plutôt que dans le onload.
    Non, faudra qd meme 2 clics dans ce cas là
    Faut passer par un bout de js

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Oui effectivement je n'avais pas bien lu le message.

    En fait dans ton bout de javascript il faut aussi récupérer la valeur de la textbox côté client, et non pas coté serveur.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Par défaut
    J'ai enlevé le code du Page_Load et je l'ai mis dans le prerender , ça fonctionne.
    Qqun aurait un bon tutorial qui explique bien le Page_Load ou le prerender car à chaque fois la plupart des erreurs que j'ai viennent du fait que j'ai mal placé le code.
    Je n'ai lu aucun tutorial d'asp.net et ni de C#, donc la je programme un peu par trial and error.
    Et comme je connais pas comment ça fonctionne j'ai du mal à faire la distinction entre ce qui s'éxécute côté client et serveur.

    Et la j'ai encore un problème:

    J'ai des textbox dans lesquels je saisi des données qui sont ensuite mis dans un gridview. Le pb c qu'après que j'ai ajouté des données et que je réactualise ma page, les données sont rajoutés à nouveau.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
     protected void ButtonClick_Ajouter(object sender, EventArgs e)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(Server.MapPath("fichier.xml"));
     
            XmlElement newelement = xmldoc.CreateElement("item");
            XmlElement xmltitle = xmldoc.CreateElement("title");
            XmlElement xmllink = xmldoc.CreateElement("link");
            XmlElement xmldescription = xmldoc.CreateElement("description");
            XmlElement xmlauthor = xmldoc.CreateElement("author");
            XmlElement xmlcategory = xmldoc.CreateElement("category");
            XmlElement xmlcomments= xmldoc.CreateElement("comments");
            XmlElement xmlpubdate = xmldoc.CreateElement("pubDate");
            XmlElement xmlsource = xmldoc.CreateElement("source");
     
     
            xmltitle.InnerText = this.TextBoxTitle.Text.Trim();
            xmllink.InnerText = this.TextBoxLink.Text.Trim();
            xmldescription.InnerText = this.TextBoxDescription.Text.Trim();
            xmlauthor.InnerText = this.TextBoxAuthor.Text.Trim();
            xmlcategory.InnerText = this.TextBoxCategory.Text.Trim();
            xmlcomments.InnerText = this.TextBoxComments.Text.Trim();
            xmlpubdate.InnerText = this.TextBoxPubDate.Text.Trim();
            xmlsource.InnerText = this.TextBoxSource.Text.Trim();
     
            newelement.AppendChild(xmltitle);
            newelement.AppendChild(xmllink);
            newelement.AppendChild(xmldescription);
            newelement.AppendChild(xmlauthor);
            newelement.AppendChild(xmlcategory);
            newelement.AppendChild(xmlcomments);
            newelement.AppendChild(xmlpubdate);
            newelement.AppendChild(xmlsource);
     
     
     
            xmldoc.DocumentElement.AppendChild(newelement);
            xmldoc.Save(Server.MapPath("fichier.xml"));
            modif_fluxRSS();
            loadXmlData();
            ButtonClick_Clear(sender, e);
        }
     
        protected void ButtonClick_Modifier(object sender, EventArgs e)
        {
            if (selectIndex == -1)
            {
                this.RegisterClientScriptBlock("alertmessage", "<script>alert('please select one modify data item.')</script>");
            }
            else
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(Server.MapPath("fichier.xml"));
     
                XmlNode xmlnode = xmldoc.DocumentElement.ChildNodes.Item(selectIndex);
     
                xmlnode["title"].InnerText = this.TextBoxTitle.Text.Trim();
                xmlnode["link"].InnerText = this.TextBoxLink.Text.Trim();
                xmlnode["description"].InnerText = this.TextBoxDescription.Text.Trim();
                xmlnode["author"].InnerText = this.TextBoxAuthor.Text.Trim();
                xmlnode["category"].InnerText = this.TextBoxCategory.Text.Trim();
                xmlnode["comments"].InnerText = this.TextBoxComments.Text.Trim();
                xmlnode["pubDate"].InnerText = this.TextBoxPubDate.Text.Trim();
                xmlnode["source"].InnerText = this.TextBoxSource.Text.Trim();
     
                xmldoc.Save(Server.MapPath("fichier.xml"));
                modif_fluxRSS();
                loadXmlData();
                ButtonClick_Clear(sender, e);
            }
        }

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par rainlily
    J'ai enlevé le code du Page_Load et je l'ai mis dans le prerender , ça fonctionne.
    J'ai du mal à y croire perso.
    Ca marche dès le 1er clic?

    Ou alors la textbox est rempli coté serveur et non par l'utilisateur

Discussions similaires

  1. buton Attributes Add
    Par zalalus dans le forum ASP.NET
    Réponses: 1
    Dernier message: 29/01/2007, 23h11
  2. Inserer dynamiquement des champs input avec attribut
    Par titou250 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/01/2007, 09h44
  3. Pb avec attribut static
    Par likenoother dans le forum C++
    Réponses: 3
    Dernier message: 24/08/2006, 12h54
  4. Envoi de formulaire avec attribution de valeur
    Par nicovoa dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/08/2006, 18h22
  5. [MFC]Probleme avec attributs d'une LOGFONT
    Par Fildz dans le forum MFC
    Réponses: 3
    Dernier message: 08/01/2006, 17h59

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