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 :

[VB.NET] Problème de transfert de données entre pages


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut [VB.NET] Problème de transfert de données entre pages
    Hello,

    j'essaie depuis un formulaire, d'appeler une popup contenant un calendar et lorsque je clic sur un bouton valider de ce popup, que celui-ci me mette à jour un textbox se trouvant dans la page appelante.

    Code dans la page appelante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>window.open('maPage.aspx?param1=nomTextBoxAModifier';</script>")
    et je ne sais quel code mettre sur l'évènement du bouton valider dans le popup. Mais je pense à un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim date As String
    date = cldChoixDate.SelectedDate.Date.ToShortDateString()
    Response.Write("<script>window.opener.document.forms['nomForm'].elements[window.opener.param1].value="+date+";window.close(); window.opener.document.forms[0].submit();</script>")
    Je pense que ça devrait être un truc comme ça, mais je ne trouve aucun exemple sur le net. Quelqu'un peut-il m'aider?

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    Pour faire la même chose, j'ai ça dans un javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.opener.document.forms['Form1'].elements['couleur'].value = new_color;
    donc ce que tu fais doit marcher ?

  3. #3
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    J'aimerais bien que ca marche, mais non.

    quand je clic sur le bouton valider, rien ne se passe.
    Je pense qu'il doit peut-être avoir une erreur sur la récupération du "param1"

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    A ce niveau là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>window.opener.document.forms['nomForm'].elements[window.opener.param1].value="+date+";window.close(); window.opener.document.forms[0].submit();</script>")
    ,
    ne pourrais-tu pas essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>window.opener.document.forms['nomForm'].elements[" + Request.QueryString["param1"]+ "].value="+date+";window.close(); window.opener.document.forms[0].submit();</script>")

  5. #5
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    non ça marche pas non plus, il ne reconnaît pas le param1

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    Bizarre... quand tu regardes ton URL, t'as bien un truc dans param1= ?
    Sinon, il se peut que tu recharges ta page maPage.aspx à un moment et tu perds l'info Request.QueryString["param1"]...

    Juste pour tester, essaye de mettre le nom de ta zone de texte en Session dans la page appelante genre :
    Session.Add("TextBoxAModif", nomTextBoxAModifier)

    Et après dans la page appelante, fais :
    Response.Write("<script>window.opener.document.forms['nomForm'].elements[" + Session["TextBoxAModif"] + "].value="+date+";window.close(); window.opener.document.forms[0].submit();</script>")

  7. #7
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Tu peux faire autrement... Mais c'est moins joli.

    Tu mets ta valeur dans une variable de session. Tu envoyes le code javascript. Tu lis la variable de session dans ton pop-up et tu la mets à null ensuite.

    Voila en gros, c'est une soluce.

  8. #8
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    J'ai regardé dans l'url de la fenêtre et j'ai bien mon param1=monTexteBox.

    Je suis obligé de travaillé avec ce param, car dans ma boîte l'utilisation de variable de session est interdite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>window.opener.document.forms[0].elements["+ Request.QueryString['param1']+ "].value=" + date + ";window.close(); window.opener.document.forms[0].submit();</script>")
    Dans ma ligne de code, il me souligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ["+ Request.QueryString['param1']+ "].
    en me disant
    Operator '+' is not defined for types 'String' and 'System.Collections.Specialized.NameValueCollection'.
    Alors que j'ai également essayé de le caster avec Cstr. Rien a faire.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par vonbier
    Operator '+' is not defined for types 'String' and 'System.Collections.Specialized.NameValueCollection'.
    C'est pas parce que t'es en VB.Net et qu'il faut "&" ?(je bosse qu'en C#, connais pas trop VB...)

  10. #10
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    non parce qu'avec la date le + marche très bien. En plus j'ai essayé, mais ça ne change rien.

  11. #11
    Membre à l'essai
    Profil pro
    Indépendant en informatique
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Indépendant en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    j'ai trouvé une des erreurs. Et oui, c'est mon premier projet en vb.net avant je codais en C# et donc j'en ai gardé quelques habitudes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.QueryString["param1"]
    Le problème est qu'en vb, il faut des parenthèses au lieu des accolades et ça marche mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.QueryString("param1")
    Donc voila ma super ligne côté popup:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>window.opener.document.forms(0).elements('" + Request.QueryString("param1") + "').value='" + date + "';</script>")
    Merci pour votre aide

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par vonbier
    j'ai trouvé une des erreurs. Et oui, c'est mon premier projet en vb.net avant je codais en C# et donc j'en ai gardé quelques habitudes.
    Ah c'est pour ça, je trouvais que ça ressemblait pas mal à du c# ton code

  13. #13
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par vonbier
    j'ai trouvé une des erreurs. Et oui, c'est mon premier projet en vb.net avant je codais en C# et donc j'en ai gardé quelques habitudes.
    Pour ca que j'avais pas fait attention. Faudrait vraiment que je me mette au VB.NET de maniere intensive moi!

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

Discussions similaires

  1. Transfert de données VB.NET vers EXCEL
    Par ApprentiDeveloppeur dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/12/2010, 20h03
  2. [ADO.NET] Transfert de données
    Par jibou dans le forum Accès aux données
    Réponses: 8
    Dernier message: 03/01/2007, 12h27
  3. [VB.NET]transfert de données via modem
    Par stevsoft dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/07/2006, 18h04
  4. Transfert de données : Delphi --> .NET
    Par slimjoe dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 22/04/2006, 13h12
  5. Réponses: 11
    Dernier message: 13/01/2006, 22h54

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