我正在处理一个页面,其中有一个类似的网址:
/directory/company/manufacturer
使用一些重写规则,这会被重写
使用 /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$donuts'
我不明白这里的不同行为。为什么在您实际请求特定密钥之前,似乎与符号的 url 编码值已被解码,但另一个 url 编码字符(如美元符号)仅在您实际请求该特定密钥后才被解码?
这是最近的变化吗?我一直认为Request.QueryString[key]在没有先解码的情况下返回实际文本。还是与 url 重写有关?