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

问题描述

| 我正在使用Telerik Extensions for ASP.NET MVC,在网格上使用Ajax数据绑定。我正在整个控制器类上使用HandleError属性,如下所示: [HandleError] 公共类MyController:控制器 {... 并且错误处理在常规Action方法中可以正常工作。但是,在[GridAction]方法(例如处理新网格记录插入的方法)上,我无法绕开认使用的“ 500-内部服务器错误”弹出窗口。我希望能够吐出一个异常,以便用户可以看到为什么未插入其记录,但是Telerik GridAction方法和HandleError似乎不想一起玩。 有人去过那里和/或这样做吗? 谢谢, 戴夫     

解决方法

我刚刚使用了这个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事件: 找不到所请求的URL(404 HTTP代码) 未处理的.NET异常(500个HTTP代码) ModelState错误 暂停