Я использую сетку пользовательского интерфейса Kendo через объект MVC Helper. Если в вызове ajax возникает ошибка (т. Е. Веб-сервер недоступен), запрос возвращает код ошибки, однако сетка пользовательского интерфейса Kendo не отвечает и просто продолжает действовать так, как если бы данные не возвращались.Ошибка управления сетью Kendo в MVC
@(Html.Kendo().Grid<ProcessInformation>()
.Name("Grid")
{Edited for brevity}
.DataSource(datasource => datasource.Ajax()
.Read(read => read.Action("SearchProcesses", "SystemProcess")
.Data("searchSerialize"))
.PageSize(10)
).Name("ResultsGrid").Events(events => events.DataBound("gridOnBound")))
событие MVC ниже:
public ActionResult SearchProcesses(
[DataSourceRequest] DataSourceRequest request, string startDate, string endDate, string status, int dataProcessType)
{
try
{
//does the search and returns the object
}
catch (Exception e)
{
this.log.ErrorException("Error Encountered in WebInternal.SearchProcesses()", e);
var result = new JsonResult
{
Data = new { Redirect = "../Error/Unexpected" },
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
return result;
}
}
Есть ли способ, чтобы сетка Кендо UI перенаправлять страницу на страницу ошибки на неудавшийся вызов? Я знаю, что могу сделать это с помощью ajax-вызова, но я бы предпочел использовать функциональность Kendo UI MVC Helper.
Есть ли способ сделать это как глобальный обработчик ошибок, который будет применяться ко всем вызовам ajax?
Я считаю, что вы можете создать обработчик для вызовов ajax, но, как вы сказали, трюк будет получать сетку, чтобы что-то сделать с ошибкой, так как она инициирует запрос. Я не верю, что вы можете вернуть перенаправление от вызова ajax, который будет обходить сетку. – asymptoticFault
Это может быть полезно http://stackoverflow.com/questions/13653662/kendo-handling-errors-in-ajax-data-requests – asymptoticFault
Это закончило работу. Если вы можете положить это в ответ, это было бы здорово. – sevargdcg