私がアクションを持っているを取得しますこれを行う ?デバッガでチェックすると、文字列が表示されません。ASP.NET MVCは、Ajax
5
で例外メッセージ
A
答えて
8
エラー属性の実装は良い方法です。また、私は通常例外をスローしませんが、エラーに応じてstatus codeを返します。あなたはXMLHttpRequest.responseText
を経由して、あなたの応答ストリームとJSでのアクセスに書き込むことができます。
if (model.MyCondition == true)
{
if (Request.IsAjaxRequest())
{
Response.StatusCode = 406; // Or any other proper status code.
Response.Write("Custom error message");
return null;
}
}
とJSで:
...
error: function (xhr, ajaxOptions, errorThrown) {
alert(xhr.responseText);
}
0
GETタイプアクションでアクションからContentResultを返すようにしてください。あなたのビューページ
[HttpGet]
public ContentResult MyAction(String variablename)
{
...
if (some_verification == true)
return Content("MyMessage);
....
}
、
$.ajax({
url: 'your controller/action url',
type: 'get',
cache: false,
async: false,
data: { variablename: "value" },
success: function (data) {
alert(data);
},
error: function() {
alert('Error doing some work.');
}
});
0
私は、これは、カスタムErrorAttribute実装に解決しました:
[NonAction]
protected void OnException(ExceptionContext filterContext)
{
this.Session["ErrorException"] = filterContext.Exception;
if (filterContext.Exception.GetType() == typeof(MyException))
{
// Mark exception as handled
filterContext.ExceptionHandled = true;
// ... logging, etc
if (Request.IsAjaxRequest())
{
/* Put your JSON format of the result */
filterContext.Result = Json(filterContext.Exception.Message);
}
else
{
// Redirect
filterContext.Result = this.RedirectToAction("TechnicalError", "Errors");
}
}
}
をして、それを自分の行動を飾ります。
コントローラのOnExceptionメソッドをオーバーライドすることもできますが、カスタム属性の方が柔軟性があると思います。
0
可能性をあなたはコントローラのOnException(ExceptionContext filterContext)
メソッドをオーバーライドして、変換しBaseControllerクラスを作成することができJavaScriptクライアントからJSONを簡単に処理できるというJSONの例外
関連する問題
- 1. ASP.NET MVC AJAX Calendar
- 2. ASP.Net MVC、AJAX、プログレッシブエンハンス
- 3. ASP.NET MVC jQuery Ajax
- 4. Asp.netのAjax mvc
- 5. asp.net mvc ajaxフォーム
- 6. AJAX - ASP.Net MVCまたはjQuery?
- 7. ASP.NET(MVC、AJAX)Image Manager
- 8. ASP.NET MVCのAjaxフォーム
- 9. ASP.NET MVC with Ajax 3.5
- 10. Asp.NET MVC Ajax-FORMとAjax-Getを投稿
- 11. ASP.NET MVCとシンプルなAjaxコール
- 12. ajax request in javascript - asp.net mvc
- 13. ASP.NET MVC:モデルバインディングとAjaxリクエスト
- 14. Ajaxパフォーマンス:ASP.Net MVC vs Webform
- 15. ファイルアップロード機能 - ASP.NET MVC/AJAX
- 16. ASP.Net MVC Ajax/InsertionMode/HTML5/IE 8
- 17. ASP.NET MVC OnExceptionとAjaxフォームonFailure
- 18. ASP.NET MVCアプリケーションでJQuery ajax parsererror
- 19. asp.net mvcのajaxでupdate div
- 20. ASP.net MVCのASP.net AJAXのポイントは何ですか?
- 21. jQueryを使用したASP.NET MVC AJAX
- 22. ASP.NET MVCでAJAXトグルイメージを作成する
- 23. ASP.NET MVC AJAXデータベースの更新 - ViewModelとコントローラ
- 24. Telerik ASP.NET MVCとViewStateのAjax RadGrid?
- 25. ASP.NET MVC 3 - Ajaxの更新テーブル - モデル
- 26. ASP.NET MVC:遅延付きAJAX送信フォーム
- 27. ASP.NET MVC AJAXファイルをロードする
- 28. AJAXリクエストのASP.NET MVCカスタムルート制約
- 29. ASP.NET MVC 3のためのjquery ajaxフォーム
- 30. asp.net 4.0 MVC 3オーバーレイのajaxフォーム
質問はコントローラーの例外スローからストリングを取得して、アクションを呼び出すように変更することはありません –
ah right。ありがとう。 – Muthu