4

HTMLマークアップで「&」文字をエスケープしないと、エンティティが作成されます。これは、ドキュメント内のURLをリンクするときに誤って行われることが多く、W3CのMarkupValidationServiceはこれをエラーと見なします。

疑問に思っていますが、ASP.NETのResponse.Redirecturlメソッドは、パラメーターでアンパサンドがエスケープされることを期待していますか?そのMSDNの説明を読んだことから、私は正直に言うことができません。

4

2 に答える 2

3

Webブラウザのアドレスバーに表示されるとおりにURLを渡します。たとえば、 http://example.com/?foo = bar&baz = quuxにリダイレクトしようとしている場合は、その正確な文字列をそのままResponse.Redirectに渡します。

于 2013-03-21T03:45:39.147 に答える
2

try UrlEncode UrlEncode(String)メソッドを使用して、クエリ文字列値を含むURL全体をエンコードできます。空白や句読点などの文字がエンコードせずにHTTPストリームで渡されると、受信側で誤って解釈される可能性があります。URLエンコードは、URLで許可されていない文字を同等の文字エンティティに変換します。URLデコードは、エンコードを逆にします。たとえば、文字<および>がURLで送信されるテキストのブロックに埋め込まれている場合、それらは%3cおよび%3eとしてエンコードされます。 URLEncode

System.Web.HttpUtility.UrlEncode(string url) 
于 2013-03-21T04:11:47.180 に答える