2

この URL を持つ ASP では:

http://www.example.com?foo=1&bar=2

Request.QueryString["bar"]NULL を返します

URL は、次のように割り当てたマップ エリアの「href」リンクです。

PolygonHotSpot p = new PolygonHotSpot();
p.NavigateUrl = http://www.example.com?foo=1&bar=2

ASP は、href の URL を自動的に HTML エンコードしますが、リクエストで再度 HTML デコードしないため、クエリ文字列「bar」が見つかりません。

現在、IIS URL Rewrite 2 モジュールを使用しています。このモジュールが問題を引き起こしているのではないでしょうか? 解決するにはどうすればよいですか?URL 書き換えルールを使用してみましたが、それが適切な方法であるかどうか、またはその方法がわかりませんでした。

4

1 に答える 1

0

おそらく良い考えではありませんが、Request.ServerVariables("QUERY_STRING")(または Request.ServerVariables["QUERY_STRING"] - タグは ASP クラシックと言っていますが、コードは C# のように見えますか?) を使用して、すべてを取得し、自分で処理することもできます。

もっと深いところに問題があるに違いないと思います。リンクをエンコードしてブラウザに送信できます。ブラウザは、リンクに移動する前にリンクをデコードします。簡単な<a href="/test?a=1&amp;b=2">テスト スクリプトでこれを実証できます。ブラウザは最終的に/test?a=1&b=2. ポリゴン イメージ マップでテストすると、同じ動作が示されます。

イメージ マップの実際の HTML 出力の内容を教えていただければ、さらにお役に立てるかもしれません。

于 2013-11-09T22:37:23.700 に答える