request.Querystring url automaticamente decodifica uma string?
Estou trabalhando com uma página em que tenho um URL como:
/ diretório / empresa / fabricante
Usando algumas regras de reescrita, isso é reescrito
testando com / directory / company / dunkin% 26donuts /
Alguns fabricantes têm um e comercial em seu nome. Então eu pensei que poderia simplesmente substituir o e comercial por%26
. No entanto, quando eu depurar o código e passar o mouse sobreRequest.QueryString
isso me mostra{qq=company&manf=dunkin&donuts&cond=}
eRequest.QueryString["manf"]
me dá 'dunkin'
Se eu usar%24
($) em vez de e comercial, pairando sobreRequest.QueryString
me dá{qs=company&manf=dunkin%24donuts&cond=}
eRequest.QueryString["manf"]
me dá 'dunkin $ donuts'
Eu não entendo o comportamento diferente aqui. Por que parece que o valor codificado em URL para um "e" comercial é decodificado antes de você realmente solicitar uma chave específica, mas outro caractere codificado em url, como um cifrão, só é decodificado depois que você realmente solicita essa chave específica?
Esta é uma mudança recente? Eu sempre penseiRequest.QueryString[key]
retornou o texto real sem decodificá-lo primeiro. Ou tem algo a ver com as re-gravações de URL?