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

JavaScript Discussion :

Propager un querystring


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Propager un querystring
    Bonjour,

    J'ai un petit souci avec les querystring...

    J'ai une page ASPX constitué d'un frameset comme suit :

    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
     
     
    <html>
    	<head>
            ....
    	</head>
     
    	<FRAMESET>
    		<FRAME name="nav" scrolling="no" src="main.aspx" frameborder="no">
    		<NOFRAMES>
    			<BODY>
    				<p>Cette page utilise des cadres, mais votre navigateur ne les prend pas en charge.</p>
    			</BODY>
    		</NOFRAMES>
    	</FRAMESET>
    </html>
    J'appelle donc cette page 'MaPage.aspx" depuis deux pages différentes.
    Lors du premier appel, j'appelle cette page sans paramètres, je veux que ma frame contienne comme source 'main.aspx" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <FRAME name="nav" scrolling="no" src="main.aspx" frameborder="no">
    Mais je fais un autre appel depuis une autre page, avec des paramètres passés en url : MaPage.aspx?toto=oui&tutu=test
    Je veux propager ces paramètres à la page contenu dans la frame, c'est-à-dire, avoir un code source pour ma page MaPage.aspx comme celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <FRAME name="nav" scrolling="no" src="main.aspx?toto=oui&tutu=test" frameborder="no">
    Il faut donc que j'attribue "dynamiquement" une valeur à l'attribut SRC de FRAME. Et c'est là que je bloque...
    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <FRAME name="nav" scrolling="no" src="main.aspx"+window.location.search frameborder="no">
    Mais ça ne marche pas...J'ai l'impression qu'on ne peut pas mettre de javascript dans l'attribut SRC...

    Merci pour vos conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tu m'étonnes john !!!

    passe par une focntion javascript pour modifier dynamiquement le src du frame que tu auras concaténé ave les paramètres ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut

    Bon ben je sais bien que c'était osé mais bon...

    Tu ne connais pas d'alternatives alors ?

    Merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    quand et à partir de quoi souhaites tu modifier le contenu de ta frame ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    En fait, je charge une première fois ma page "ContientFrame.aspx", qui contient la frame "nav", chargée au départ avec MaPage.aspx. Jusque là tout va bien.

    Ensuite, je fais des sélections diverses dans "MaPage.aspx", j'ouvre une fenêtre modale où l'utilisateur fait des sélections et tout. Au moment où il ferme cette fenêre modale (validation des sélections), les données sélectionnées sont récupérées dans un formulaire (sur MaPage.aspx donc), que j'envoie à "ContientFrame.aspx" avec des paramètres "?toto=oui&tutu=test". J'appelle donc la page "ContientFrame.aspx?toto=oui&tutu=test". Et mon souci est de propager ces paramètres à la page de chargement de ma frame "nav" (i.e. d'appeler ma frame "nav" avec comme SRC "MaPage.aspx?toto=oui&tutu=test")

    Je sais pas si je suis clair, mais bon voilà ce que je veux faire...

    Et j'ai absolument besoin de la frame pour gérer un événement si on en sort, sinon je ne travaillerais qu'avec MaPage.aspx, ça serait tout simple...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Parent.nav.location.href="main.aspx?parmètres"
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    Oui j'ai cherché de ce côté là, mais sans succès....

    Finalement, j'ai adopté une autre méthode.

    Je récupère la querystring via ma page "ContientFrame.aspx", côté serveur. Je crée alors une variable chaîne qui contient le code source HTML de ma page ContientFrame (génération dynamique). Ca me permet de mettre ce que je veux en fonction du querystring pour l'attribut "src" ma frame "nav".

    En gros ça donne dans le PageLoad de ma page "ContientFrame.aspx":

    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
     
    string src;
     
    //Je définis l'attribut src de ma frame suivant la QueryString récupérée
    if ((Request.QueryString.Get("toto")!=null)&&(Request.QueryString.Get("tutu")!=null))
        src = "MaPage.aspx?toto=oui&tutu=test";
    else
        src = "MaPage.aspx";
     
    //Je crée ensuite le code source HTML de ma page, avec le src de ma frame "nav" correctement renseigné
     
    string contientFrame ="<html>"+
    				"<head>"+
    				"</head>"+
    				"<FRAMESET>"+
    				"<FRAME name=\"nav\" src=\""+src+"\" scrolling=\"no\" frameborder=\"no\">"+
    				"<NOFRAMES>"+
    				"<BODY>"+
    				"<p>Cette page utilise des cadres, mais votre navigateur ne les prend pas en charge.</p>"+
    				"</BODY>"+
    				"</NOFRAMES>"+
    				"</FRAMESET>"+
    				"</html>";
     
    Response.Write(contientFrame );			
    Response.Flush();
    Voilà, ça marche bien comme ça.

    Merci pour ton aide SpaceFog.

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

Discussions similaires

  1. Simuler un lien en querystring avec javascript
    Par rozwel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/05/2005, 20h36
  2. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  3. Probleme dans request.QueryString("chaine")
    Par soufienne dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 14h49
  4. Urgent! Pb avec querystring
    Par arsgunner dans le forum ASP
    Réponses: 5
    Dernier message: 10/06/2004, 13h33
  5. QueryString avec window.Open ??
    Par christine dans le forum ASP
    Réponses: 4
    Dernier message: 29/08/2003, 09h27

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