Request.Querystring автоматически URL-адрес декодирует строку?

Я работаю со страницей, где у меня есть URL-адрес, как:

/ Каталог / Компания / производитель

Используя некоторые правила перезаписи, это переписывается

тестирование с помощью / directory / company / dunkin% 26donuts /

У некоторых производителей есть амперсанд в названии. Поэтому я подумал, что смогу заменить амперсанд на%26, Тем не менее, когда я отлаживаю код и наведите курсор мыши наRequest.QueryString это показывает мне{qq=company&manf=dunkin&donuts&cond=} а такжеRequest.QueryString["manf"] дает мне 'Dunkin'

Если я использую%24 ($) вместо амперсанда, нависшего надRequest.QueryString дает мне{qs=company&manf=dunkin%24donuts&cond=} а такжеRequest.QueryString["manf"] дает мне 'Dunkin $ пончики

Я неЯ не понимаю другое поведение здесь. Почему кажется, что значение для амперсанда, закодированное в URL-адресе, декодируется до того, как вы фактически запросите конкретный ключ, а другой символ в кодировке URL, например знак доллара, декодируется только после того, как вы действительно запросите этот конкретный ключ?

Это недавнее изменение? Я всегда думалRequest.QueryString[key] вернул реальный текст без предварительного декодирования. Или это как-то связано с перезаписью URL?

Ответы на вопрос(3)

Ваш ответ на вопрос