0

グリッドの onError イベントが発生するのは正確にはいつですか?

コントローラーで発生するエラーに対して、私が持っているものが十分かどうかを知りたいです。私の.Layout_cshtmlページには、以下のコードスニペットがあります...

Catch ブロック内でエラーが発生した場合に (_Layout.cshtml ページのコードを介して) 表示されるようにしたいと考えています。

コントローラーの Catch 内には、何もありません。

モデルにエラーがある場合はどうすればよいですか? これは自動的にそのまま表示されますか、それとも Controller で ModelState エラー (方法はわかっています) をキャプチャして、ここに警告メッセージを吐き出す必要がありますか?

私の見解では、次のとおりです。

.ClientEvents(ev => ev.OnError("error_handler"))

.Layout_cshtml ページ:

<script type="text/javascript">

            function error_handler(e) {

                if (e.errors) {

                    var message = "Errors:\n";

                    $.each(e.errors, function (key, value) {

                        if ('errors' in value) {

                            $.each(value.errors, function () {

                                message += this + "\n";

                            });

                        }

                    });

                    alert(message);

                }

            }

        </script>
4

1 に答える 1

1

ドキュメントで説明されているように、いくつかの理由で発生します。主に、アフターアップデート中にモデルの状態エラーが発生した場合に使用されます。または、バインド中にサーバーでエラーが発生した場合。

サーバーから返された応答が正しい形式でない場合にも発生します。

于 2013-02-26T19:19:45.020 に答える