我可以在Telerik [GridAction]上使用[HandleError]吗?(Telerik MVC)

本文关键字:Telerik MVC HandleError GridAction 我可以 | 更新日期: 2023-09-27 17:50:03

我正在使用Telerik Extensions for ASP。NET MVC,在网格上使用Ajax数据绑定。我在整个控制器类上使用HandleError属性,如下所示:

[HandleError]
公共类MyController: Controller{…

和错误处理在常规的Action方法中工作良好。然而,在[GridAction]方法上,例如处理新网格记录插入的方法,我无法绕过默认使用的"500 -内部服务器错误"弹出框。我希望能够吐出一个异常,这样用户就可以看到为什么他们的记录没有被插入,但是Telerik GridAction方法和HandleError似乎不想一起玩。

有人去过那里并且/或者做过吗?谢谢,戴夫

我可以在Telerik [GridAction]上使用[HandleError]吗?(Telerik MVC)

我刚刚使用了这个http://www.telerik.com/community/forums/aspnet-mvc/grid/how-to-return-error-information-to-grid-in-ajax-editing-mode.aspx

为我整理问题。

实际上,我只需要处理来自网格的。onerror事件:

.ClientEvents(events => events
    .OnLoad("onLoad")
    .OnError("onError")
  )

)

<script type="text/javascript">  
function onLoad(e) {  
    $(this).find('.t-no-data td').text('Loading...');  
}  
function onError(e) {  
    if (e.textStatus == 'error') {  
        if (e.XMLHttpRequest.status == "500") {  
            alert("The server was unable to process your request.'n" + e.XMLHttpRequest.responseText);  
           e.preventDefault();  
        }  
    }  
}  
</script>  

OnError事件将在以下情况下引发:

  1. 请求的URL不存在(404 HTTP代码)
  2. 未处理的。net异常(500 HTTP代码)
  3. 状态误差
  4. 超时