我通过 MVC Helper 对象使用 Kendo UI 网格。如果在 ajax 调用中发生错误(即 web 服务器不可用),请求会返回错误代码,但是 Kendo UI 网格不会响应,并且会继续运行,就好像没有返回数据一样。
@(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;
}
}
有没有办法让 Kendo UI 网格在调用失败时将页面重定向到错误页面?我知道我可以通过 ajax 调用来做到这一点,但我更愿意使用 Kendo UI MVC Helper 功能。
有没有办法将其作为适用于所有 ajax 调用的全局错误处理程序?