2014-09-05 60 views
0

請注意我的代碼。 我通過我的對象模型,它有兩個項目,但Kendo網格無法顯示它。與Kendo Grid的數據綁定不起作用(對象不支持屬性或方法'kendoGrid')

我該如何解決這個問題?

我使用ASP.NET MVC 5.

編輯:我研究了它進一步,我能找到一個JavaScript錯誤。 錯誤是:

對象不支持屬性或方法 'kendoGrid'

public class ArticleAdminController : Controller 
{ 
    private JahanBlogDbContext db = DataContextFactory.GetDataContext(); 
    private readonly IArticleRepository _articleAdminRepository; 
    public ArticleAdminController(IArticleRepository articleRepository) 
    { 
     _articleAdminRepository = articleRepository; 
    } 

    public ArticleAdminController() 
     : this(new ArticleRepository()) 
    { 
    } 

    // GET: ArticleAdmin 
    public async Task<ActionResult> Index([DataSourceRequest] DataSourceRequest request) 
    { 
     List<Article> list = await _articleAdminRepository.FindAll().ToListAsync(); 
     return View(list); // list.count = 2 
    } 

    public ActionResult Editing_Read([DataSourceRequest] DataSourceRequest request) 
    { 
     return Json(_articleAdminRepository.FindAll().ToDataSourceResult(request), JsonRequestBehavior.AllowGet); 
    } 
} 

這是我的視圖代碼。當程序運行時,只是網格顯示沒有數據!

@using Kendo.Mvc.UI 
@model IEnumerable<Jahan.Blog.Model.Article> 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 

@(Html.Kendo().Grid<Jahan.Blog.Model.Article>() 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.UserId); 
     columns.Bound(p => p.Title).Width(140); 
     columns.Bound(p => p.Summary).Width(140); 
     columns.Bound(p => p.Description).Width(100); 
     columns.Bound(p => p.LikeCounter).Width(20); 
     columns.Bound(p => p.RateCounter).Width(20); 
     columns.Bound(p => p.IsActive).Width(20); 
     columns.Bound(p => p.IsActiveNewComment).Width(20); 
     columns.Bound(p => p.CreatedDate).Width(20); 
     columns.Bound(p => p.ModifiedDate).Width(20); 
     columns.Command(command => command.Destroy()).Width(110); 
    }) 
    .ToolBar(toolbar => 
    { 
     toolbar.Create(); 
     toolbar.Save(); 
    }) 
    .Editable(editable => editable.Mode(GridEditMode.InCell)) 
    .Pageable() 
    .Navigatable() 
    .Sortable() 
    .Scrollable() 
     .DataSource(dataSource => dataSource 
      .Ajax() 
      .Batch(true) 
      .PageSize(20) 
      .ServerOperation(false) 
      .Events(events => events.Error("error_handler")) 
      .Model(model => model.Id(p => p.Id)) 
      .Create("Editing_Create", "Grid") 
      .Read("Editing_Read", "ArticleAdmin") 
      .Update("Editing_Update", "Grid") 
      .Destroy("Editing_Destroy", "Grid") 
     ) 
) 
<script> 
    function parameterMap(options, operation) { 
     if (operation !== "read" && options.models) { 
      return { models: kendo.stringify(options.models) }; 
     } 
    } 
</script> 

回答

0

我在this page找到我的解決方案。

如果在頁面中多次包含jQuery,所有現有的jQuery插件(包括Kendo UI)都將被清除。如果不包含所需的Kendo JavaScript文件,也會發生。

相關問題