2012-04-12 8 views
4

Derzeit entwickeln eine Webanwendung, die manchmal einen bestimmten URL-Parameter benötigt. Zum Beispiel bin ich diesen Parameter in der URL-Leiste eingeben:Internet Explorer codiert keine URL-Parameter

...Page.aspx?user=chantal.côté 

Firefox und Chrome wird die URL wie folgt automatisch kodieren:

...Page.aspx?user=chantal.c%C3%B4t%C3%A9 

Aber Internet Explorer kodieren nicht automatisch die URL, so Ich bekomme einen Fehler mit diesem Symbol (beim Debuggen). Alles funktioniert gut, wenn ich ...Page.aspx?user=chantal.c%C3%B4t%C3%A9 tippe, aber ich will das nicht tun!

Gibt es irgendwo, dass ich Internet Explorer explizit anweisen muss, die URL zu codieren?

+0

Was ist der Fehler? Es gibt wahrscheinlich eine bessere Option als eine IE-Einstellung zu finden. Sie müssten jeden, der Ihre Anwendung verwendet, dazu zwingen, in diesem Fall die gleichen IE-Einstellungen zu verwenden. – Khan

+0

Wenn ich die Daten von Request.QueryString ["user"] bekomme. ToString() gibt mir Symbole anstelle von ô oder é – Soader03

+0

Siehe meinen Kommentar zu meiner Antwort. – Joe

Antwort

2

Vermutlich arbeiten, um zu überprüfen Sie Ihre Web-App, indem sie Benutzer nicht manuell eine Abfrage-Zeichenfolge in ihren Browser eingeben. Versuchen Sie, eine Test-HTML-Seite zu erstellen, und fügen Sie Folgendes hinzu:

<a href="http://whatever.com?user=chantal.côté">link</a> 

Öffnen Sie diese Testseite in IE, und klicken Sie auf den Link. Die Zeichen in der Abfragezeichenfolge werden korrekt codiert. Es sieht so aus, als würde der IE beim manuellen Einfügen von Inhalten in die Adressleiste keine URL-Codierung für Sie vornehmen, aber hoffentlich ist diese Tatsache für Ihre App irrelevant.

1

Verwenden

HttpUtility.UrlEncode(string) 
+0

kann ich nicht verwenden, da Request.QueryString ["user"]. ToString() gibt mir – Soader03

+2

Sie müssen es auf der Weiterleitung verwenden. Codieren Sie die URL, bevor die Anforderung erfolgt, und verwenden Sie dann UrlDecode (Zeichenfolge) auf der Zielseite. – Joe

+0

Der Benutzer gibt die URL manuell ein. Es gibt keine Weiterleitung hier – Soader03