2013-01-22 87 views
0

我們最近下載了試用版的Kendo UI套件,以期在試用結束時進行購買。我們在Ajax綁定模式下使用Kendo網格控件,並注意到一些問題。主要的問題是,刪除該模型中的最後一個記錄綁定到網格時會出現下面的腳本錯誤:IE8腳本錯誤

未處理的異常18行,列31059中的http:// * * /腳本/kendo/2012.3.1114/kendo.web.js 0x800a138f - Microsoft JScript運行時錯誤:'_current'爲空或不是對象

我們無法在Chrome中進行復制。我們對Kendo感興趣,因爲它與IE8兼容。這似乎並非如此。

這裏是我們的.cshtml文件格:

@(Html.Kendo().Grid(Model) 
    .Name("UserGrid") 
    .HtmlAttributes(new { style = "height:500px" }) 
    .Columns(columns => 
    { 
     columns.Bound(p => p.ReferenceNumber).Groupable(false); 
     columns.Bound(p => p.Title).Title("Title"); 
     columns.Bound(p => p.AgreementDate).Title("Agreement Date"); 
     columns.Bound(p => p.Superseded).ClientTemplate(
     "<input type='checkbox' disabled='disabled' value='#= Superseded #' " + 
      "# if (Superseded) { #" + 
       "checked='checked'" + 
      "# } #" + 
     "/>"); 

     //columns.Bound(p => p.Parties.Count); 
     columns.Bound(p => p.SourceDocumentLink); 
     columns.Bound(p => p.RelationshipLeadDirector); 
     columns.Bound(p => p.Owner); 
     columns.Bound(p => p.LegalContact); 
     columns.Command(command => command.Destroy()).Width(100); 
     columns.Template(@<text></text>).ClientTemplate("<a class='k-button k-button-icontext k-edit-button' href='" + Url.Action("Update", "Agreement") + "/#=Id#'><span class='k-icon k-edit'></span>Edit</a>");   
    }) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     //.Server() 
     //.Events(events => events.RequestStart("requeststart_handler")) 
     //.Events(events => events.Error("error_handler"))    
     .Model(model => model.Id(p => p.Id)) 
     .Destroy("Delete", "Agreement") 
     .Update("Update","Agreement")   
     .Read(read => read.Action("ListAgreements", "Agreement") 
     )) 
    .Navigatable() 
    .Scrollable() 
    .Resizable(s=>s.Columns(true)) 
    .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)) 
    .Sortable() 
    .Pageable(builder => builder.PageSizes(true)) 
    ) 

這裏是負責刪除我們的控制器上的操作:

[HttpAjaxPost] 
public JsonResult Delete([DataSourceRequest] DataSourceRequest request, AgreementData agreement) 
{ 
    try 
    { 
     _agreementService.DeleteAgreement(agreement); 
     ModelState.Clear(); 
    } 
    catch (Exception ex) 
    { 
     Logger.GetLog(Logger.ServiceLog).Error(ex); 
     ModelState.AddModelError("errors", "Delete failed"); 
    } 
    return Json(ModelState.ToDataSourceResult()); 
} 

這是劍道中的錯誤電網還是我們錯過了明顯的東西?回顧一下,只有在刪除網格中的最後一條記錄時纔會出現腳本錯誤。

回答