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 :

Transmission variables javascript asp.net


Sujet :

ASP.NET

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    304
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 304
    Par d�faut Transmission variables javascript asp.net
    Bonjour,
    Lors d'un double clique sur une ligne d'une grille j'entre dans une fonction js qui me transmet les donn�es de cette ligne dans l'url
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.location.href="AssistantFinOperation.aspx?debut="+values[0]....
    Probleme : mes variables peuvent contenir des caract�res qui posent probl�mes (# par exemple).
    J'aimerais donc pouvoir r�cup�rer (sauvegarder) ces donn�es autrement.

    Avez vous une id�e?

    Merci de votre aide

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    Pense a l'encodage Html de tes valeurs que tu fais transiter.. cela devrait resoudre tes soucis.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    304
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 304
    Par d�faut
    Qu'est ce que tu entends par l'encodage html?

    Je vois pas tres bien concr�tement ce qu'il faut faire :/

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    304
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 304
    Par d�faut
    OK merci.

    Petite question : quelle est la difference entre un Request.QueryString["var"] et un Request.Params["var"]?

  6. #6
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    je crois que le querystring implique que tu recuperes tes donn�es depuis un get exclusivement alors que le second les prendra qu'elles viennent de get ou de post. Mais � confirmer...

  7. #7
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    304
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 304
    Par d�faut
    bon j'ai fait dans mon lien depuis ma fontion js :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    encodeURIComponent("AssistantFinOperation.aspx?debut="+values[0]....
    Puis je recupere dans mon code behind :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    debut.Text = Server.UrlDecode(Request.QueryString["debut"]);
    Mon url est : AssistantFinOperation.aspx?debut=BCR#

    Et je recup�re dans mon champ texte : BCR :/

    (j'ai essay� aussi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.location.href=UrlEncode("AssistantFinOperation.aspx?debut="+values[0]....
    qui ne fait pas d'erreur mais ne me permet pas non plus de recuperer mon diese).

  8. #8
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    Effectivement, j'etais persuad� que le diese etait g�r� par cette fonction. Bon le mieux que tu as � faire alors est de le g�rer a la main en le replacant par "diese " par exemple.

    Mais il est vrai que placer des # dans une url sans que cela soit des ancres, c'est tout de m�me un peu retors, n'est ce pas?

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    304
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 304
    Par d�faut
    ouai mais comment le faire passer autrement?

  10. #10
    Membre �prouv�
    Inscrit en
    Septembre 2007
    Messages
    1 137
    D�tails du profil
    Informations personnelles :
    �ge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par d�faut
    Request.QueryString ne te renvoie que les variables qui sont d�finits dans l'url tandis que Request.params te renvoi toutes les variables utilis�es dans l'objet request (viewstate,...)

  11. #11
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    En lui donnant un code que ton application saura decrypter. Tu fais un truc du style :

    dans la page qui cree le lien :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mastring.replace("#","diese");

    dans la page qui recoit et decrypte le lien :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mastring.replace("diese","#");
    Si tu utilises 3.5 tu peux meme faire une petite fonction d'extension pour l'avoir toujours sous la main. Maintenant, il est vrai que cela fait assez bricolage, mais cela aura le m�rite de fonctionnner.

  12. #12
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    217
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 217
    Par d�faut
    Citation Envoy� par Arthis Voir le message
    En lui donnant un code que ton application saura decrypter. Tu fais un truc du style :

    dans la page qui cree le lien :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mastring.replace("#","diese");

    dans la page qui recoit et decrypte le lien :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mastring.replace("diese","#");
    [...]
    C'est en effet la bonne technique � employer.

    J'ajouterais, pour la compr�hension, ce qui est la source de votre probl�me initial :

    grossierement, une URL/URI pour le protocole HTTP a cette forme, du moins en syntaxe d'URL/URI absolue :

    http://hote[:port]/chemin[?param1=val1&param2=val2&...][#fragment]

    (cf. RFC 2616 -- http://www.ietf.org/rfc/rfc2616.txt )

    o� :

    * "port" est optionnel, comme vous savez

    * "chemin" peut �tre vide

    * "param1=val1&param2=val2&..." sont optionnels, eux aussi

    Mais l'hote serveur HTTP ne "voit" (via QueryString en ASP.NET p.ex, mais c'est valable aussi pour PHP, CGI, etc) que la partie de la syntaxe situ�e avant ce qu'on appelle "le fragment" ( le "#fragment" ) ; car en effet, ce "fragment" est une information "out-of-band" con�ue dans la RFC 2616 pour etre a destination du client (p.ex navigateur) HTTP de l'application.

    En effet, la partie de la syntaxe URL/URI avant le "#" d�signe ou identifie la ressource et seulement la ressource (p.ex le HTML re�u par le client) ; tandis qu'apr�s le "#", l'ID de fragment, en option, est quant � lui l'information "out-of-band" transmise pour demander au client HTTP d'interpreter (ou de se "concentrer sur" ) seulement une partie de cette ressource ; ce que font typiquement les navigateurs en scrollant vers le bas, p.ex, vers "l'ancre" directement apr�s le rendu HTML, pour se positionner tout de suite sur le "bon" paragraphe.

    Pour d'autres applications HTTP, o� les flux sont XML p.ex, sans etre a destination d'humains, ce fragment peut �tre utilis� pour indiquer au client de ne s'interesser qu'a un noeud (�l�ment) particulier du document XML ( "<dictionary>...<word id="wrath">...</word>...</dictionary>" => URL du genre http://.../dictionary/english#wrath )

    [ EDIT ]

    En clair, votre application ASP.NET, c�t� serveur, "en fait un peu trop" et tente d'exploiter une information, qui, par conception du protocole HTTP, en l'esp�ce concernant la syntaxe des URLs/URIs, ne lui est pas destin�e, puisque normalement destin�e au client (le navigateur).

    Ce n'est pas dramatique / ridicule en soit (car apr�s tout, HTTP fut initialement con�u pour transporter du HTML, mais on lui a trouv� bien d'autres usages depuis son invention fin des 80's...) mais c'est tout de m�me une enfreinte � ses objectifs de conception et d'utilisation que vous devez avoir � l'esprit dans votre cas particulier.

    Par l�, je veux dire : ce que vous mettez apr�s le "#" ( une information technique ou m�tier ) ne pourriez vous pas le mettre avec le reste des param�tres introduit par "?" � destination de la page aspx, en �tant plus conforme au r�le jou� par le serveur, donc ?

    'HTH

  13. #13
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    Oua c'est une chouette r�ponse c�. si apres il y a des questions, je veux bien refuser tous mes cadeaux de noel ce soir!

    D'ailleurs Joyeux noel a tout le monde!!

  14. #14
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    217
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 217
    Par d�faut
    Citation Envoy� par Arthis Voir le message
    Oua c'est une chouette r�ponse c�. si apres il y a des questions, je veux bien refuser tous mes cadeaux de noel ce soir!

    D'ailleurs Joyeux noel a tout le monde!!
    Merci pour le compliment indirect...

    Mais bon, on va dire que vous blaguez : je n'aimerais pas savoir que vous avez refus� vos cadeaux du papa noel a cause d'une autre question sur ce fil par un rebond sur nos r�ponses... ce serait triste !

    Et oui, joyeux noel a tous, au fait !

Discussions similaires

  1. R�ponses: 1
    Dernier message: 08/01/2010, 17h28
  2. R�ponses: 3
    Dernier message: 23/07/2009, 10h38
  3. Transmission variable javascript
    Par arnogef dans le forum G�n�ral JavaScript
    R�ponses: 18
    Dernier message: 31/05/2007, 12h02
  4. variable Session(asp.net) et Cookie dans Flash
    Par SirTurbo dans le forum Flash
    R�ponses: 4
    Dernier message: 29/05/2007, 04h27
  5. simuler un clic javascript/asp.net
    Par rsfav dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 10/08/2006, 16h32

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