/directory/company/manufacturerのような URL を持つページで作業しています。
いくつかの書き換えルールを使用すると、これが書き換えられます
/directory/company/dunkin%26donuts/ でのテスト
一部のメーカーには、名前にアンパサンドが含まれています。アンパサンドを に置き換えるだけでいいと思いました%26
。ただし、コードをデバッグしてカーソルを合わせると、「ダンキン」とRequest.QueryString
表示されます{qq=company&manf=dunkin&donuts&cond=}
Request.QueryString["manf"]
%24
アンパサンドの代わりに ($)を使用すると、カーソルを合わせると「dunkin$donuts」が表示Request.QueryString
さ
れます{qs=company&manf=dunkin%24donuts&cond=}
Request.QueryString["manf"]
ここでの異なる動作がわかりません。アンパサンドの url エンコードされた値は実際に特定のキーを要求する前にデコードされるように見えるのに、ドル記号などの別の url エンコードされた文字は実際にその特定のキーを要求した後にのみデコードされるように見えるのはなぜですか?
これは最近の変更ですか?Request.QueryString[key]
最初にデコードせずに実際のテキストが返されるといつも思っていました。それとも、URLの書き換えと関係がありますか?