HTMLマークアップで「&」文字をエスケープしないと、エンティティが作成されます。これは、ドキュメント内のURLをリンクするときに誤って行われることが多く、W3CのMarkupValidationServiceはこれをエラーと見なします。
疑問に思っていますが、ASP.NETのResponse.Redirecturl
メソッドは、パラメーターでアンパサンドがエスケープされることを期待していますか?そのMSDNの説明を読んだことから、私は正直に言うことができません。
HTMLマークアップで「&」文字をエスケープしないと、エンティティが作成されます。これは、ドキュメント内のURLをリンクするときに誤って行われることが多く、W3CのMarkupValidationServiceはこれをエラーと見なします。
疑問に思っていますが、ASP.NETのResponse.Redirecturl
メソッドは、パラメーターでアンパサンドがエスケープされることを期待していますか?そのMSDNの説明を読んだことから、私は正直に言うことができません。
Webブラウザのアドレスバーに表示されるとおりにURLを渡します。たとえば、 http://example.com/?foo = bar&baz = quuxにリダイレクトしようとしている場合は、その正確な文字列をそのままResponse.Redirectに渡します。
try UrlEncode
UrlEncode(String)メソッドを使用して、クエリ文字列値を含むURL全体をエンコードできます。空白や句読点などの文字がエンコードせずにHTTPストリームで渡されると、受信側で誤って解釈される可能性があります。URLエンコードは、URLで許可されていない文字を同等の文字エンティティに変換します。URLデコードは、エンコードを逆にします。たとえば、文字<および>がURLで送信されるテキストのブロックに埋め込まれている場合、それらは%3cおよび%3eとしてエンコードされます。 URLEncode
System.Web.HttpUtility.UrlEncode(string url)