33

MVC4でKendo UIを使用して、データのAjax呼び出しをコントローラーに戻すグリッドがあります。

    public ActionResult SearchUser_Read([DataSourceRequest]DataSourceRequest request)
    {
        var data = CreateAnExcaptionHere();
        return Json(data.ToDataSourceResult(request));
    }

この呼び出しを使用して、エラーが発生したことをページに通知するにはどうすればよいですか?

4

6 に答える 6

49

サーバーからのエラー メッセージを表示する必要がある場合は、Errors プロパティのみが設定された DataSourceResult オブジェクトを返すことで実行できます。

return this.Json(new DataSourceResult
            {
                Errors = "my custom error"
            });

そして、これを使用してクライアントでそれを取得します (.Events(events => events.Error("onError"))行で参照されます):

function onError(e, status) {
    if (e.status == "customerror") {
        alert(e.errors);
    }
    else {
        alert("Generic server error.");
    }
}
于 2013-08-29T17:23:49.073 に答える
28

見つかったので、Kendo は呼び出す JS 関数を DataSource にイベントを追加するだけでそれをサポートします。それでおしまい。

  .DataSource(dataSource => dataSource
      .Ajax()
      .Events(events => events.Error("onError"))
      .Read(read => read.Action("SearchUser_Read", "Search").Data("parentModel"))
  )

<script> 
    function onError(e, status) {
          alert("A server error has occurred!");
}
</script>
于 2012-11-30T23:16:27.250 に答える
2

例外を発生させて、警告メッセージが表示されるかどうかを確認してください。

剣道グリッドの場合、役立つエラー イベントがあります。

http://docs.kendoui.c​​om/documentation/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid

バインド中にエラーが発生した場合にアラート メッセージを自動的に表示する telerik mvc グリッドを使用しました。

http://www.telerik.com/community/forums/aspnet-mvc/grid/exception-handling.aspx

http://www.telerik.com/community/forums/aspnet-mvc/grid/how-to-do-error-handling-in-gridaction-methods.aspx

于 2012-11-30T22:21:12.073 に答える
-3

どうですか

throw new HttpResponseException(HttpStatusCode.BadRequest);
于 2015-12-12T22:11:02.857 に答える