Ответ 1
Проблема в том, что вы не указали ссылку на Kendo.Mvc.dll
. Там объясняется, как это сделать в документации, расположенной здесь
По умолчанию корневой каталог kendo устанавливается в C:\Program Files (x86)\Telerik
Я пытаюсь создать представление Telerik Grid, но когда я перехожу к ссылке kendo, он не распознает его. Visual Studio дает мне ошибку, когда я пытаюсь ссылаться на кендо. Это код @(Html.Kendo().Grid)
, а ниже - ошибка.
'System.Web.Mvc.HtmlHelper<dynamic>' does not contain a definition for 'Kendo' and no extension method 'Kendo' accepting a first argument of type 'System.Web.Mvc.HtmlHelper<dynamic>' could be found (are you missing a using directive or an assembly reference?)
Я добавил пакет в файл BundleConfig как для сценариев, так и для содержимого. Также я добавил @Scripts.Render("~/bundles/kendo")
и @Styles.Render("/Content/kendo")
прямо в режим бритвы.
Многие статьи, которые я прочитал, предполагают, что добавление <add namespace="Kendo.Mvc.UI"/>
в файл Web.Config будет работать, но оно все равно выдает ту же ошибку.
Есть ли что-то, что мне не хватает?
Проблема в том, что вы не указали ссылку на Kendo.Mvc.dll
. Там объясняется, как это сделать в документации, расположенной здесь
По умолчанию корневой каталог kendo устанавливается в C:\Program Files (x86)\Telerik
У меня была та же проблема. Третий пункт, упомянутый ниже, решил проблему в моем случае.
1. Добавьте файлы JavaScript и CSS: Также очень важно упорядочить скрипты и файлы css. jQuery должен быть включен перед файлами (файлами) KendoUI script.
2. Добавьте ссылку на Kendo.Mvc.dll: Щелкните правой кнопкой мыши ссылку node в обозревателе решений и нажмите "Добавить ссылку". Перейдите на вкладку "Обзор" диалогового окна "Добавить ссылку" и перейдите к месту установки пользовательского интерфейса Telerik для ASP.NET MVC.
3. Обновите файл web.config в папке Просмотры: Открыть представления /Web.config(или root Web.config при использовании ASPX). Найдите тег namespaces. Добавьте тег add add к тегу namespaces.
<add namespace="Kendo.Mvc.UI" />
Когда вы создали свой проект, вам нужно было выбрать правильный тип проекта. Существует тип проекта Telerik asp.net MVC application и тип проекта Kendo UI Asp.net MVC 5. Выбор типа проекта Kendo UI предоставит вам классы javascript kendo. Это касается того, когда вы хотите использовать Kendo через javascript, у меня была такая же проблема, пока я не вернусь и не выбрал правильный тип проекта. Я потратил полтора дня, пытаясь добавить библиотеки классов .net, потому что моя бритва не сработает. Я думаю, что Visual Studio была просто смущена тем, что я пытался сделать, и мне, вероятно, не хватало библиотеку классов .net.
Что касается добавления Kendo в существующее приложение ASP Core, я обнаружил, что добавление ссылок на css и javascript (js) в мой _Layout.cshtml в любом месте, кроме тегов <environment>
в <head>
, вызвало проблему. В конце концов я получил это, добавив следующее:
<link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common-material.min.css" rel="stylesheet" type="text/css" />
<link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.mobile.all.min.css" rel="stylesheet" type="text/css" />
<link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.material.min.css" rel="stylesheet" type="text/css" />
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/jszip.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.all.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.aspnetmvc.min.js"></script>
Я просто добавил нижнюю строку на странице бритвы. Он работает для меня.
@using Kendo.Mvc.UI;
Добавить Kendo.Mvc.dll
через NugetPackage и
Добавить Kendo.Mvc
Добавить пространство имен в файле webconfig
<system.web>
<pages>
<namespaces>
<add namespace="Kendo.Mvc.UI" />
</namespaces>
</pages>
Шаг 1:
Добавьте Kendo.Mvc.dll
к ссылкам.
Вы можете использовать следующую команду галереи NuGet.
Install-Package Kendo.Mvc -Version {yourversion}
Шаг 2: Добавьте js и css файл Kendo
<link href="@Url.Content("~/Content/kendo/2017.3.1018/kendo.common.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2017.3.1018/kendo.mobile.all.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2017.3.1018/kendo.dataviz.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2017.3.1018/kendo.default.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2017.3.1018/kendo.dataviz.default.min.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/kendo/2017.3.1018/jquery.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2017.3.1018/jszip.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2017.3.1018/kendo.all.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2017.3.1018/kendo.aspnetmvc.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"></script>
Шаг 3: Добавьте пространство имен Kendo.Mvc.UI
в файл web.config.
Примечание: если вы используете Area in Project, вы должны добавить этот код в web.config области.
<system.web>
<pages>
<namespaces>
<add namespace="Kendo.Mvc.UI" />
</namespaces>
</pages>
</system.web>
Однако у меня была та же проблема, но она была решена после следующих шагов:
1- Открыть инструменты == > Расширения и обновления
2- Нажмите на вкладку "Онлайн" слева и найдите telerik
3- Загрузите и установите "Telerik ASP.NET AJAX VSExtensions" и "Telerik ASP.NET MVC VSExtensions"
4- Закройте окно
5- Перейдите на вкладку "Telerik"
6 - Нажмите "Интерфейс Telerik для ASP.NET MVC"
7- Мастер обновления и обновление
Это решило проблему из-за конфликта между версиями Telerik между двумя станциями. в дополнение к тому, что кендо не входит в проект, если вы установили VS после Telerik.
Для меня это был _ViewImports.cshtml
который мне нужно было отредактировать
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Kendo.Mvc
@using Kendo.Mvc.UI
Теперь с asp.net core 2.2 страница бритвы разрешает @(Html.Kendo()...