ビューで Ajax.BeginForm を使用し、.js で OnFailure ハンドラーを提供していますが、呼び出されません。コントローラーで例外をスローしようとしました (新しい HttpException(500, "Internal Error") をスローします) が、呼び出されません。 その理由は、web.config で customerrors をオンにしたときのようです。 私がやりたいことは、コントローラーで例外やエラーを処理し、customerrors がオフになっているかのように、.js ファイルの OnFailure ハンドラーに渡すことです。これを行う方法はありますか?
解決済み:
web.config で customerrors をオンにしても動作します...
これを処理する方法は、Response.StatusCode = 500を設定し、応答オブジェクトResponse.AppendHeader("MyResponseHeader", "My Message");にヘッダーを追加することです。
私の .js OnFailure ハンドラで...
function OnFailure(ajaxContext) {
alert(ajaxContext.status); // 500
alert(ajaxContext.getResponseHeader("MyResponseHeader")); // "My Message"
}