Могу ли я использовать [HandleError] в Telerik [GridAction]? (Telerik MVC) - PullRequest
1 голос
/ 12 апреля 2011

Я использую Telerik Extensions для ASP.NET MVC, использую привязку данных Ajax к сетке.Я использую атрибут HandleError для всего класса контроллера, например:

[HandleError]
открытый класс MyController: Controller {...

, и обработка ошибок работает нормально вобычные методы действий.Однако в методах [GridAction], таких как метод, который обрабатывает вставку новой записи сетки, я не могу обойти всплывающее окно «500 - Внутренняя ошибка сервера», которое используется по умолчанию.Я хотел бы иметь возможность выдать исключение, чтобы пользователь мог видеть, почему его запись не вставляется, но методы Telerik GridAction и HandleError, похоже, не хотят играть вместе.

Кто-нибудь былтам и / или сделали это?Спасибо, Дейв

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Я только что использовал это 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>  
0 голосов
/ 06 мая 2011

Событие OnError будет вызываться в следующих случаях:

  1. Запрашиваемый URL-адрес не найден (404 HTTP-код)
  2. Необработанное исключение .NET (500 HTTP-код)
  3. Ошибка ModelState
  4. Тайм-аут
...