2013-05-09 44 views
15

Tôi đang cố gắng làm mới lưới giao diện người dùng Kendo nhưng chưa thành công. Có ai xin vui lòng tư vấn cho những gì tôi bị mất hoặc những gì tôi đã làm sai?Cách làm mới lưới giao diện người dùng Kendo

Tôi có đoạn mã sau:

.cshtml:

$('#btnRefresh').click(function (e){ 

      $.ajax({ 
       type: 'POST', 
       url: "@(Url.Content("~/Administration/RefreshAll/"))", 

       success: function() { 
        $("#Product").data("kendoGrid").dataSource.read(); 
        $('#Product').data('kendoGrid').refresh(); 
        //grid.refresh(); 
        location.reload(true); 
       }, 
       error: function(){ 
        $("#btnRefresh").removeAttr('disabled'); 
       } 
      }); 


     }); 

Bộ điều khiển:

public ActionResult RefreshAll([DataSourceRequest] DataSourceRequest request) 
     { 
      db.ProcessAll(); 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      return View(); 
     } 

Trả lời

35

kịch bản của bạn nên

$('#btnRefresh').click(function (e){ 
     var grid = $("#Product").data("kendoGrid"); 
       grid.dataSource.page(1); 
       grid.dataSource.read(); 
     }); 

trong tài liệu tham khảo điều khiển add bạn để

  • using Kendo.Mvc.UI;
  • using Kendo.Mvc.Extensions;

ActionResult bạn nên

public ActionResult RefreshAll([DataSourceRequest] DataSourceRequest request) 
     { 
      //assuming db.ProcessAll() will return a list object 
      return Json(db.ProcessAll().ToDataSourceResult(request)); 
     } 
+0

Public void ProcessAll() do đó tôi không thể trả về dưới dạng JSON – Spidey

+0

Bạn cần chuyển đối tượng danh sách vào mô hình. – HaBo

+0

ok. cảm ơn tôi sẽ thử rằng – Spidey

Các vấn đề liên quan