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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage