2013-10-03 40 views
0
@(Html.Kendo().Grid<TRC.Models.ProductModel>() 
    .Name("Product") 
    .HtmlAttributes(new { @Style = "align:center; font-size:12px; width:470px; height:100%" }) 
    .Columns(columns => 
    { 


     columns.Bound(p => p.ProductId).Width(220); 
     columns.Bound(p => p.ProductName).Width(220); 
     columns.Bound(p => p.ProductCreateDate).EditorTemplateName("Date").Format("{0:dd/MM/yyyy}").Width(120); 
     //columns.Command(commands => commands.Edit()).Width(100); 
     columns.Command(commands => commands.Destroy()); 
    }) 
    .Editable(editable => editable.Mode(GridEditMode.InLine)) 
    .Sortable() 
    .Selectable() 
    .Scrollable(scrollable => scrollable.Virtual(true)) 
    .ColumnMenu(c => c.Columns(false)) 
    .DataSource(dataSource => dataSource 
     .Ajax()//bind with Ajax instead server bind 
     .ServerOperation(true) 
      .Model(model => 
      { 
       model.Id(p => p.ProductId); 
       model.Field(p => p.ProductCreateDate).DefaultValue(DateTime.Now); 
       model.Field(p => p.ProductCreateDate).Editable(false); 

      }) 
      .Sort(sort => sort 
      .Add(x => x.ProductCreateDate).Descending() 
     ) 
     .Read(read => read.Action("GetProduct", "ProductDetails").Type(HttpVerbs.Get)) 
     .Destroy("DeleteProduct", "ProductDetails") 
    ) 
) 

控制器:劍道UI格不刷新IE10刪除後

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult DeleteProduct([DataSourceRequest] DataSourceRequest request, ProductModel model) 
{ 
    if (model != null) 
    { 
     TRC_DataAccessLayer.SessionsList sList = db.GetProductbyId(model.ProductId); 
     dbProduct.DeleteProduct(model.ProductId); 
    } 

    return View(GetProductData(request)); 
} 

回答

0

試試這個 - >

替換您的標記下面一行

.Destroy("DeleteProduct", "ProductDetails") 

.Destroy(update => update.Action("DeleteProduct", "ProductDetails")) 

在您的控制器,與

return Json(new[] { model}.ToDataSourceResult(request)); 
+0

相當肯定的例子摧毀你上面列出的數據源處理相當於@Supermode怎麼過的最初取代

return View(GetProductData(request)); 

。如果它確實解決了問題,那很可能是由於Json在控制器方法中返回 – sonyisda1