私はApplication_ErrorハンドラでHttpRequestValidationExceptionを実装しており、可能であればカスタムメッセージを表示したいと考えています。Response.StatusCodeとInternet Explorer - カスタムメッセージを表示しますか?
今、私はStatusCodeについて考えています。私の現在の例では、200を送信します。私はそれをしてはいけないと思います。代わりに、(IMHO)より適切な400 Bad Requestを送信したいと思います。しかし、同時に、Response.Writeを使用してカスタムメッセージを入力したいと考えています。 Firefoxは正常に表示しますが、IE7ではInternet Explorerのデフォルトのエラーページが表示されます。
一方、私はInternet Explorerがすべての "良い"コンテンツを持っていないことを単に仮定していると思います。ここにはRFC is not really clearがあります。
私は、HttpRequestValidationExceptionの良い習慣によって引き起こされるエラーページのHTTP 200を送信しているのでしょうか?良い選択肢はありますか?
ありがとうございました!私の解決策:> 512 Byte Error.aspxを作成しましたが、Global.asaxによってStatusCodeが400に設定され、Response.Redirectの代わりにServer.Transferが実行されます。 AJAXとInternet Explorerでうまく動作します。 –
追加するだけです:通常、Response.Redirectも実行可能な解決策になります。ただし、ASP.net AJAXを使用すると、リダイレクトされます。 Server.Transferを使用すると、AJAX-Requestsの現在のページにとどまり、JavaScriptでエラーを処理できます。私のHttpRequestValidationException質問を参照してください。 –