Comment puis-je coder une URL?
Quand je lance mon projet, j'ai récupérer l'url http://localhost:5973/PageToPageValuePass/Default.aspx
je veux Encoder l'URL car parfois j'ai besoin de transférer des données de page en page. Lorsque les url sont codées, puis elle augmente la fiabilité.
Server.UrlEncode("http://www.google.com/c#");
- Je obtenir cela, mais comment dois-je utiliser pour m'aider à coder l'url?
27 questions et 0% accepter? Aussi cruel que vous pouvez être.
Pouvez-vous préciser votre question? Demandez-vous comment le codage d'URL fonctionne? Ou pour une bibliothèque qui s'en chargera pour vous? Ou avez-vous un cas d'utilisation spécifiques où il ne fonctionne pas?
Je ne pense pas que l'adjectif "cruel" est approprié ici. Une meilleure description serait "ungracious, d'égards et de la civilité" ! 😉
Pouvez-vous préciser votre question? Demandez-vous comment le codage d'URL fonctionne? Ou pour une bibliothèque qui s'en chargera pour vous? Ou avez-vous un cas d'utilisation spécifiques où il ne fonctionne pas?
Je ne pense pas que l'adjectif "cruel" est approprié ici. Une meilleure description serait "ungracious, d'égards et de la civilité" ! 😉
OriginalL'auteur | 2009-09-22
Vous devez vous connecter pour publier un commentaire.
Si votre encodage des pièces de la trajectoire:
Si votre encodage 'arguments':
.UrlEncode(...)
suce pour lamailto
href
avec l'objet ou le corps. +1OriginalL'auteur csharptest.net
essayer cette
en WinForms à l'aide de System.Web.dll
OriginalL'auteur RRUZ
L'encodage de l'Url est utilisée pour s'assurer que les symboles spéciaux inclus dans l'url (le plus probable dans une querystring) ne sont pas à tort interprété comme ceux utilisés dans l'analyse et le traitement d'une url. Par exemple, le symbole + est utilisé pour indiquer un espace dans l'url. Cependant, si vous aviez l'intention d'un symbole + pour être une partie de votre querystring alors vous voulez encoder qu'une chaîne de requête avant de l'envoyer à un navigateur.
Par exemple. Imaginez que vous avez écrit une page qui reçoit une équation mathématique sur la chaîne de requête et affiche l'équation sur la page.
L'url peut être:
http://yoursite.com/displayMath.aspx?equation=3+5
Le symbole + dans ce cas est destiné à être une partie très importante de l'équation. Cependant, sans un UrlEncode il serait interprété comme la représentation de l'espace. La lecture de cette valeur dans la chaîne de requête sur la page de réception donnerait "3 5", ce qui n'était pas prévu.
Au lieu de rediriger vers l'url directement, vous souhaitez encoder la demande en premier. Vous pouvez écrire le code suivant:
string equation = "3+5";
string url = String.Format(@"http://yoursite.com/displayMath.aspx?equation={0}", equation);
string encodedUrl = Server.UrlEncode(url);
Response.Redirect(encodedUrl);
Cela permettrait d'assurer une ultérieure
Request.Querystring["equation"]
recevrait l'équation intacts, car un symbole spécial devrait d'abord être codé.Je ne suis pas sûr de comprendre votre cas d'utilisation pour le codage d'url. Si vous pourriez peut-être fournir plus d'informations sur ce que vous essayez d'atteindre, je vais essayer de répondre de manière plus complète. Pour l'instant, j'espère que cette information est utile.
OriginalL'auteur Stuart Thompson
que vous voulez créer un lien avec certains paramètres, vous pouvez l'utiliser comme suit:
aspx:
Cliquez Ici
code derrière:
Ou comme dans votre question:
cela permettra de mettre en html:
OriginalL'auteur TheVillageIdiot