2013-08-22 43 views
4

我通过MVC Helper对象使用Kendo UI网格。如果ajax调用发生错误(即web服务器不可用),请求会返回一个错误代码,但是Kendo UI网格不响应,并且继续像没有数据返回一样运行。MVC中的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; 
     } 
    } 

有没有办法有剑道UI电网重定向呼叫失败的页面的错误页面?我知道我可以用ajax调用,但我宁愿使用Kendo UI MVC Helper功能。

有没有办法做到这一点,作为一个全局的错误处理程序,将适用于所有的ajax调用?

+0

我相信你当然可以为ajax调用创建一个处理程序,但正如你所说的,这个技巧会让网格在发起请求时对错误做些什么。我不相信你可以从一个绕过网格的ajax调用返回一个重定向。 – asymptoticFault

+0

这可能是有用的http://stackoverflow.com/questions/13653662/kendo-handling-errors-in-ajax-data-requests – asymptoticFault

+0

最终工作。如果你能把它放在一个很好的答案中。 – sevargdcg

回答