2016-01-07 52 views
-1

以下代碼在瀏覽器中以JSON形式返回數據,但不顯示telerik mvc網格。如何將telerik網格綁定到控制器動作

public class TipoDeCanalesController : GenericController 
{ 
    private UnitOfWork unitOfWork = new UnitOfWork(); 

    // GET: TipoDeCanales 
    public ActionResult Index([DataSourceRequest] DataSourceRequest request) 
    { 
     return Json(unitOfWork.TipoDeCanalRepository.Get(),JsonRequestBehavior.AllowGet); 
    } 

和視圖

@model IEnumerable<powerdata.comisiones.models.tipodecanal> 

    @{ 
     ViewBag.Title = "Index"; 
    } 

    <h2>Index</h2> 

    @(Html.Kendo().Grid(Model) 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.ID); 
     columns.Bound(p => p.Nombre).Title("Nombre"); 
     columns.Bound(p => p.Descripcion).Title("Descripcion"); 
    }) 
    .ToolBar(toolbar => toolbar.Create()) 
    .Editable(editable => editable.Mode(GridEditMode.PopUp)) 
    .Pageable() 
    .Sortable() 
    .Scrollable(scr => scr.Height(430)) 
    .Filterable() 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .PageSize(20) 
     .Events(events => events.Error("error_handler")) 
     .Model(model => model.Id(p => p.ID)) 
     .Create(update => update.Action("EditingPopup_Create", "Grid")) 
     .Read(read => read.Action("Index", "Grid")) 
     .Update(update => update.Action("EditingPopup_Update", "Grid")) 
     .Destroy(update => update.Action("EditingPopup_Destroy", "Grid")) 
    ) 
    ) 
    %> 
    <script type="text/javascript"> 
     function error_handler(e) { 
      if (e.errors) { 
       var message = "Errors:\n"; 
       $.each(e.errors, function (key, value) { 
        if ('errors' in value) { 
         $.each(value.errors, function() { 
          message += this + "\n"; 
         }); 
        } 
       }); 
       alert(message); 
      } 
     } 
    </script> 
+0

羞愧-1沒有建設性的批評 –

回答

0

我有這個問題。

當你使用超過1 jQuery庫它發生。只需添加一個jQuery庫。

變化返回的結果就像這樣:

return Json(result.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); 

索裏我可以添加評論。

相關問題