0

私の Web アプリケーションでは、ページ間の URL を介していくつかの値を送信したいと考えています。いくつかの特殊文字があるため、URL を壊さないように値をエンコードすることにしました。IE と Opera では、ブラウザに URL をロードするとエンコードされたままになりますが、Safari と Firefox では URL が自動的にデコードされ、コードが壊れます。

IE8 と Opera では、エンコードされた値は URL Default.aspx?sid= %c5%a1D%19%5c%c2%a5)のようになり、自動的にデコードされません。

Firefox と Safari では、値は自動的にデコードされ、次のように「クリア」に表示されます Default.aspx?sid= šD\¥)

問題は、コードで HttpUtility.UrlDecode(Request.QueryString["sid"]) を呼び出し、Web ページが Firefox または Safari で開かれると、コードが壊れることです...自動デコードを停止する方法はありますか?

4

1 に答える 1

1

電話するべきではありませんHttpUtility.UrlDecode(Request.QueryString["sid"])。直接使用しRequest.QueryString["sid"]、必要に応じて ASP.NET がデコードを処理するようにします。

于 2010-07-28T11:07:22.220 に答える