2017-02-19 20 views
1

Я пытаюсь заполнить данные к datagrid кендо с помощью MVC5. Хотя, я правильно ссылаюсь на файлы javascript, я получаю сообщение об ошибке jQuery.Deferred exception: Kendo не определен ReferenceError: Kendo не определен.jQuery.Deferred exception: Kendo не определен ReferenceError: Kendo не определен

Когда я вижу в окне консоли, ошибка на следующей строке

var carsDataSource = new Kendo.Data.DataSource({ data: cars }); 

Пожалуйста, смотрите ниже код

головной секции в макете магом

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title>@ViewBag.Title - My ASP.NET Application</title> 

    @Styles.Render("~/Content/css") 
    <link href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.common.min.css" rel="stylesheet" /> 
    <link href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.default.min.css" rel="stylesheet" /> 

    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/jquery") 

    <script src="https://kendo.cdn.telerik.com/2017.1.118/js/kendo.web.min.js"></script> 
    @*<script src="https://kendo.cdn.telerik.com/2017.1.118/js/kendo.all.min.js"></script>*@ 
</head> 

DataGridController

public class DataGridController : Controller 
    { 
     // GET: DataGrid 
     public ActionResult Index() 
     { 
      return View(); 
     } 
    } 

Index.html

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 


<div id="cars"></div> 


<script> 

    $(document).ready(function() { 


     var cars = [ 
      { year: 2012, make: "Ferrari", model: "California" }, 
      { year: 2013, make: "Ferrari", model: "458 Italia" }, 
      { year: 2014, make: "Lambhorhini", model: "California" }, 
      { year: 2015, make: "Porche", model: "California" }, 
      { year: 2015, make: "Audi", model: "A7" }, 
      { year: 2016, make: "Mercedez", model: "E350" }, 
      { year: 2016, make: "Nisan", model: "California" }, 
      { year: 2015, make: "Ford", model: "California" }, 
      { year: 2014, make: "Jaguar", model: "California" }, 
      { year: 2015, make: "McLaren", model: "California" }, 
      { year: 2013, make: "Ferrari", model: "California" }, 
      { year: 2011, make: "Mercedez", model: "C200" }, 
      { year: 2017, make: "Mercedez", model: "GLA" }, 
     ]; 

     var carsDataSource = new Kendo.Data.DataSource({ data: cars }); 
     carsDataSource.read(); 

     $("#cars").kendoGrid({ dataSource: carsDataSource }); 

    }); 

</script> 

ответ

1
  • у вас есть неправильно полбы конструктор
  • , а также посмотреть, как вы отметили из kendo.all.min.js файла JavaScript
  • Основная причина, по которой появляется эта ошибка, - это неправильная настройка необходимых ресурсов. Посмотрите на представленный образец и посмотрите, не хватает ли какого-либо файла javascript, связанного с kendo, и добавьте его в свой комплект. Скорее всего, что-то не так с включенными ресурсами.

Ниже минимальная требуемой конфигурация кендо сетки

<head> 
    <title></title> 
    <link rel="stylesheet" href="styles/kendo.common.min.css" /> 
    <link rel="stylesheet" href="styles/kendo.default.min.css" /> 
    <link rel="stylesheet" href="styles/kendo.default.mobile.min.css" /> 

    <script src="js/jquery.min.js"></script> 
    <script src="js/kendo.all.min.js"></script> 
</head> 

Кроме того, если вы не установите сетки автоматической привязки к ложным вам не нужно, чтобы инициировать функцию чтения(). ознакомьтесь с этой документацией read method of kendo grid

Настоящая живая версия вашего кода.

Dojo образец здесь working dojo sample

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Untitled</title> 

    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.common.min.css"> 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.rtl.min.css"> 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.default.min.css"> 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.1.118/styles/kendo.mobile.all.min.css"> 

    <script src="http://code.jquery.com/jquery-1.12.3.min.js"></script> 
    <script src="http://kendo.cdn.telerik.com/2017.1.118/js/angular.min.js"></script> 
    <script src="http://kendo.cdn.telerik.com/2017.1.118/js/jszip.min.js"></script> 
    <script src="http://kendo.cdn.telerik.com/2017.1.118/js/kendo.all.min.js"></script></head> 
<body> 

<div id="cars"></div> 

<script> 

    $(document).ready(function() { 

     var carsList = [ 
      { year: 2012, make: "Ferrari", model: "California" }, 
      { year: 2013, make: "Ferrari", model: "458 Italia" }, 
      { year: 2014, make: "Lambhorhini", model: "California" }, 
      { year: 2015, make: "Porche", model: "California" }, 
      { year: 2015, make: "Audi", model: "A7" }, 
      { year: 2016, make: "Mercedez", model: "E350" }, 
      { year: 2016, make: "Nisan", model: "California" }, 
      { year: 2015, make: "Ford", model: "California" }, 
      { year: 2014, make: "Jaguar", model: "California" }, 
      { year: 2015, make: "McLaren", model: "California" }, 
      { year: 2013, make: "Ferrari", model: "California" }, 
      { year: 2011, make: "Mercedez", model: "C200" }, 
      { year: 2017, make: "Mercedez", model: "GLA" }, 
     ]; 

      var carsDataSource = new kendo.data.DataSource({data: carsList});    

      carsDataSource.read(); 

      $("#cars").kendoGrid({ dataSource: carsDataSource }); 

    }); 

</script> 
+0

Благодаря Шон. Он работает сейчас. – Tom

+0

в любое время сэр. вы очень приветствуетесь –