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

As explained in the documentation it is fired for several reasons. Mainly it is used if there are model state errors during after update. Or if there is error on the server while binding.

It will also get fired if the response returned from the server is not in the correct format.

于 2013-02-26T19:19:45.020 回答