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

Silverlight Discussion :

Navigation et Paramètres URL


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut Navigation et Paramètres URL
    Bonjour,

    Je suis relativement nouveau sur Silverlight et j'ai déjà quelques soucis ^^.
    J'essaye de mettre en place une petite "Silverlight Navigation Application", qui travaillerait avec des paramètres URL. Pour l'instant, je fais des tests et n'arrivent à rien :s.

    Dans mon fichier XAML du Main, j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
    <uriMapper:UriMapping Uri="/Home" MappedUri="/Views/Home.xaml"/>
    <uriMapper:UriMapping Uri="/About" MappedUri="/Views/About.xaml"/>
    <uriMapper:UriMapping Uri="/About?nom={nom}" MappedUri="/Views/About.xaml?nom={nom}"/>
    Le but est que quand je vais sur /About après avoir rempli un formulaire sur /Home, le nom soit passé en paramètre URL.

    Dans /Home, sur le bouton d'envoi du formulaire, il y a l'appel de:
    this.NavigationService.Navigate(new Uri(String.Format("/About?nom=" + nom), UriKind.Relative));

    Par contre, je n'arrive pas à récupérer la variable nom dans /About.
    J'ai tenté de nombreuses choses :

    1 -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HtmlPage.Document.QueryString["nom"].ToString()
    -> Je récupère une erreur 'Page not found' qui n'apparaît pas quand j'enlève la ligne


    2 -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.NavigationContext.QueryString["nom"];
    -> Même problème


    3 -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dictionary<string, string> urlparams = HtmlPage.Document.QueryString as Dictionary<string, string>;
         string s = string.Empty;
         urlparams.TryGetValue("nom", out s);
    -> Alors là il ne trouve pas de paramètres URL, je l'ai vérifié avec un urlparams.Count()


    Le problème semble venir du fait que malgré que l'URL du navigateur soit
    en appelant la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HtmlPage.Document.DocumentUri.ToString();
    il me renvoie
    (J'ai même fait une fonction qui travaillait sur HtmlPage.Document.DocumentUri.ToString(); et récupérait les paramètres, mais vu qu'il n'y en a pas elle est inutile :s)

    Voila, j'espère que vous pourrez m'aider ^^.

    Merci d'avance ;-)

    Naoris

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 207
    Par défaut
    Je sais pas si je vais repondre a ta question mais pour le passage de parametre tu peux declarer une variable pour l'ensemble de ton application ds le fichier app.xaml.cs

    tu rajoute cette ligne en vert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static String Nom;
    
    ...
    public App(){
    ...
    }
    et ensuite tu peux utiliser ta variable sur chaque page de ton applciation en fesant appel à
    dis moi si tu as des questions

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    Une variable globale répond parfaitement à mes besoins ;-).

    J'y avais pensé mais je l'avais placée dans le Main et n'arrivais plus à y accéder.
    Merci beaucoup, ça me permet de me débloquer (même si cette histoire de paramètres URL me turlupine ^^)

    Encore merci,

    Naoris

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Par défaut
    Salut,

    Tout d'abord merci, je cherchais depuis plusieurs jours comment faire passer des paramètres par l'url

    Apparemment, ce code fonctionne très bien pour récupérer les paramétrés de l'url dans la page cible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     protected override void OnNavigatedTo(NavigationEventArgs e)
     {
         if (this.NavigationContext.QueryString.ContainsKey("nom"))
               this.textBlock1.Text = this.NavigationContext.QueryString["nom"];
    }
    Merci aussi pour l'idée de declarer des variables dans le fichier app.xaml.cs

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

Discussions similaires

  1. [C#] Envoi paramètres url par POST
    Par Mselle dans le forum C#
    Réponses: 5
    Dernier message: 21/10/2009, 15h36
  2. Paramètre URL avec inclusion de page
    Par bogsy15 dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2007, 18h45
  3. problème de récupération du paramètre url en php
    Par akazim dans le forum Langage
    Réponses: 6
    Dernier message: 08/02/2007, 19h00
  4. tag html link et passage de paramètre à url.
    Par david06600 dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/08/2006, 14h22
  5. [Javascript] Paramètre url
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/04/2006, 15h57

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