5

我通过 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 调用的全局错误处理程序?

4

1 回答 1

5

要使用 Kendo UI Grid 处理错误,请查看这个问题Kendo:Handling Errors in Ajax Data Requests

您必须向将处理错误的数据源添加一个事件。

于 2013-08-23T17:11:15.270 回答