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 :

Paramètres HTTP dynamiques


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut Paramètres HTTP dynamiques
    Bonjour,

    Petite question rapide:
    J'ai des paramètres d'une URL qui changent dynamiquement.
    Comment faire pour récupérer ses paramètres avec ASP ?
    Quel est l’évènement que je dois appeler ?
    Exemple : TOTO.aspx#20.00/10.4975/20.2341
    TOTO.aspx#20.00/10.4975/-21.2341

    Merci

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Ce que tu appelles "paramètres HTTP dynamiques" sont en fait des QueryStrings (MSDN).

    Tu trouveras tout ce dont tu as besoin sur Internet grâce à ce lien.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Merci pour les info.
    J'ai seulement les paramètres de l'URL qui changent il n'y a pas de refresh ou autre event sur la page.
    Est ce que je dois suivre la voie des QueryString ?
    Quelle est la méthode qui permet de détecter que son URL change ?
    Merci

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ah d'accord dans ce cas ça change un peu la problématique.

    Si tu es obligé de passer par l'URL de ta page pour récupérer ces informations, tu peux la récupérer à intervalles réguliers grâce à un Timer, puis faire un String.Split() au niveau du # et tu récupères tes informations dans une variable de type String.

    Pour le Timer, tu peux regarder pour en faire un maison avec du Javascript/jQuery, ou sinon regarder du côté du Timer fourni avec ASP.NET Ajax.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Ok. Donc il n'y a pas un moyen de déclencher une méthode pour qu'on puisse revérifier si les paramètres ont changé.
    Est ce que le Javascript peut changer une valeur dans une div Asp ? Si c'est le cas, ASP pourrait détecter que le contenu de la div a changé non ?
    Merci

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Oui, dans tous les cas il te faudra utiliser un Timer.

    Je ne sais pas exactement ce que tu veux faire, mais tu as 2 options :
    - Soit tu fais tout côté serveur, à l'aide du Timer AJAX.
    - Soit une solution hybride, tu mets ton timer côté client (avec Javascript/jQuery), et dès qu'il détecte un changement de valeur, il exécute une méthode côté serveur (voir WebMethod).

    A toi de voir ce qui sera le plus simple à mettre en place pour ton application.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Le timer est une bonne solution (Rapide à utiliser) mais avec des intervalles de 1000 ou inférieur à 1000, ca ne risque pas d'etre trop lourd pour l'application ?
    Par exemple, la personne est sur une carte et elle fait des PAN et des mouse over donc il faut que mon timer soit déclenché toutes les secondes...


    Autre point, le timer fait des rafraîchissant de la page grrrr !!!

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Pour ne pas rafraîchir toute ta page, tu peux utiliser un UpdatePanel et définir l'event Tick du timer comme trigger.

    Ainsi, seul le contenu de ton UpdatePanel sera rafraichi.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut Bug ou pas ?
    J'ai une adresse asp avec des paramètres:
    aspx#Test=1.
    En faisant Request.QueryString["Test"], impossible de récupérer la valeur du paramètre .
    Bizarre non ?

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Non c'est normal car tes paramètres ne forment pas un QueryString dans l'URL que tu as donné pour exemple (TOTO.aspx#20.00/10.4975/-21.2341).

    Pour pouvoir utiliser Request.Querystring il faudrait que ton url soit de la forme suivante :

    TOTO.aspx?value=20.00/10.4975/-21.2341

    ou encore :

    TOTO.aspx?value1=20.00&value2=10.4975&value3=-21.2341

    Avec ton #, il faut que tu récupères ton URL dans une variable de type string, puis tu fais un Split() sur le caractère #, et tu récupères le second résultat du Split.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    En debugguant, je ne vois pas toute l'URL. Elle n'est pas complète.
    Request.Url.ToString() donne seulement http://localhost/TOTO.aspx
    Je n'arrive pas à prendre les paramètres.

  12. #12
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Question bête: quel est l'interêt de faire varier les paramètres dans l'url si il n'y a pas de repost de la page?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Ma page fait appel à une carte:
    http://localhost:49573/Mappy.aspx#lat=37.7870&ln=-122.2280
    Les paramètres sont dynamiques.
    Avec le timer, je peux récupérer les paramètres et faire des opérations avec.

    Exemple concret: http://polymaps.org/ex/pale-dawn.htm...7649/-122.4195

  14. #14
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Tu connais fiddler? C'est un logiciel qui analyse les requêtes http. En m'en servant sur ton site j'ai pu constater que l'URL affichée dans la barre d'adresse n'est jamais envoyée au serveur. Les requêtes qui passent sont plutôt comme ceci: http://tile.cloudmade.com/1a1b06b230...6877/11975.png
    Donc, j'ai l'impression que tu ne pourras pas utiliser cette URL sans créer une fonction javascript qui intercepte les changements d'URL.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Ouhai donc le problème devient de plus en plus compliqué pour moi.
    Fonction javascript qui intercepte les changements d'URL:
    Je croyais que le javascript ne pouvait pas écrire dans une page ASP par contre l'inverse oui.

    Merci Senior

  16. #16
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par techgeom Voir le message
    Je croyais que le javascript ne pouvait pas écrire dans une page ASP par contre l'inverse oui.
    Effectivement, il serait utile que tu te plonges un peu dans le javascript.
    Le javascript fonctionne côté client. Grâce à lui ont peut faire beaucoup de choses. Ce serait un peu long d'en parler dans ce fil...

    Peux-tu nous dire exactement pour quelle raisons tu souhaites récupérer ces paramètres? Quand on déplace la carte ils varient énormément. Quel est l'intérêt de les récupérer si ils changent tous les dixièmes de secondes?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Le but étant d'envoyer tous les paramètres vers un WebService pour qu'il puisse me donner d'autres données par la suite.

  18. #18
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Quel est l'intérêt de les récupérer si ils changent tous les dixièmes de secondes?
    Oui, mais tu risques de spammer tes services avec des requêtes inutiles. Quel est l'objectif?
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Peux-ton en parler en privé ?
    Merci

  20. #20
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    A moins que cela ne soit un secret défense, je vois pas bien l'intérêt.

    Si tu veux récupérer ces paramètres dès qu'ils changent, il faut avant tout que tu comprennes le javascript existant (http://polymaps.org/polymaps.min.js?2.5.0). Est-ce que c'est le cas?
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Fonctions avec paramètres à types dynamiques
    Par benlaug dans le forum Langage
    Réponses: 6
    Dernier message: 19/06/2012, 20h54
  2. [CR XI] Champ de paramètre à invite dynamique
    Par juju05 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 27/06/2011, 16h12
  3. Réponses: 0
    Dernier message: 25/07/2007, 17h17
  4. Réponses: 4
    Dernier message: 01/01/2007, 10h26

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