dekodiert Request.Querystring automatisch eine Zeichenfolge?
Ich arbeite mit einer Seite, auf der ich eine URL wie folgt habe:
/ Verzeichnis / Firma / Hersteller
Unter Verwendung einiger Umschreiberegeln wird dies umgeschrieben
Testen mit / directory / company / dunkin% 26donuts /
Einige Hersteller haben ein kaufmännisches Und in ihrem Namen. Also dachte ich, ich könnte einfach das kaufmännische Und ersetzen%26
. Jedoch wenn ich den Code ausprüfe und über schwebeRequest.QueryString
es zeigt mir{qq=company&manf=dunkin&donuts&cond=}
undRequest.QueryString["manf"]
gibt mir "dunkin"
Wenn ich benutze%24
($) statt kaufmännisches Und, schwebendRequest.QueryString
gibt mir{qs=company&manf=dunkin%24donuts&cond=}
undRequest.QueryString["manf"]
gibt mir 'dunkin $ donuts'
Ich verstehe das unterschiedliche Verhalten hier nicht. Warum scheint es, als würde der url-codierte Wert für ein kaufmännisches Und decodiert, bevor Sie einen bestimmten Schlüssel anfordern, aber ein anderes url-codiertes Zeichen, wie ein Dollarzeichen, wird erst decodiert, nachdem Sie diesen bestimmten Schlüssel anfordern?
Ist das eine kürzliche Änderung? Ich dachte immerRequest.QueryString[key]
gab den eigentlichen Text zurück, ohne ihn vorher zu dekodieren. Oder hat es etwas mit dem Umschreiben von URLs zu tun?