通常のページ読み込みエラーの場合、Error
ビューとHandleErrorInfo
モデルを使用して例外の詳細をユーザーに報告できます。MVCでAjax呼び出されたPartialViewメソッドからエラーが報告される
Json
結果の誤りを期待ajax
呼び出しが、私は明示的にエラーを処理し、クライアントに詳細を渡すことができる場合:だから、私の問題は、私はエラーの詳細を報告する方法を参照することはできません
public JsonResult Whatever()
{
try
{
DoSomething();
return Json(new { status = "OK" });
}
catch (Exception e)
{
return Json(new { status = "Error", message = e.Message });
}
}
Ajax呼び出しから部分的なビューを返すアクションへの呼び出し。
$.ajax({
url: 'whatever/trevor',
error: function (jqXHR, status, error) {
alert('An error occured: ' + error);
},
success: function (html) {
$container.html(html);
}
});
これは、クライアントには役立たないHttpエラーコード(内部サーバーエラーなど)のみを報告します。成功したPartialView(html)の結果であるまたはのいずれかをエラーメッセージに渡すための巧妙なトリックがありますか?
ViewResult
からhtmlを明示的に評価し、Json
オブジェクトの一部として返すと、状態が悪すぎるようです。このシナリオを処理するための確立されたパターンはありますか?
ダーリンにAjaxAuthorizeAttributeを見てください。私はここでいくつかの点を十分に理解していませんでしたが、グローバルフィルタに登録されたajaxフィルタを使って、同様のことを少し簡単に実現できることを理解しました。それはうまく動作しているようだ。ありがとうございました。 – fearofawhackplanet
上記のコードを使用して404をトラップしてカスタムページを表示している場合は、おそらくResponse.TrySkipIisCustomErrors = true(.net 3.5以降は私が信じる)を追加したい場合は –
魅力的な作品 – Dilip