1

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

[HandleError]
公共类 MyController : Controller { ...

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

有人去过那里和/或做过吗?谢谢,戴夫

4

2 回答 2

2

我刚刚使用了这个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>  
于 2011-04-13T09:05:05.203 回答
0

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

  1. 未找到所请求的 URL(404 HTTP 代码)
  2. 未处理的 .NET 异常(500 HTTP 代码)
  3. 模型状态错误
  4. 暂停
于 2011-05-06T08:02:04.010 回答