Ссылка на интерфейс Kendo не работает в режиме Razor

Я пытаюсь создать представление 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 будет работать, но оно все равно выдает ту же ошибку.

Есть ли что-то, что мне не хватает?

Ответ 1

Проблема в том, что вы не указали ссылку на Kendo.Mvc.dll. Там объясняется, как это сделать в документации, расположенной здесь

По умолчанию корневой каталог kendo устанавливается в C:\Program Files (x86)\Telerik

Ответ 2

У меня была та же проблема. Третий пункт, упомянутый ниже, решил проблему в моем случае.

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" />

Ответ 3

Когда вы создали свой проект, вам нужно было выбрать правильный тип проекта. Существует тип проекта Telerik asp.net MVC application и тип проекта Kendo UI Asp.net MVC 5. Выбор типа проекта Kendo UI предоставит вам классы javascript kendo. Это касается того, когда вы хотите использовать Kendo через javascript, у меня была такая же проблема, пока я не вернусь и не выбрал правильный тип проекта. Я потратил полтора дня, пытаясь добавить библиотеки классов .net, потому что моя бритва не сработает. Я думаю, что Visual Studio была просто смущена тем, что я пытался сделать, и мне, вероятно, не хватало библиотеку классов .net.

Ответ 4

Что касается добавления 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>

Ответ 5

Я просто добавил нижнюю строку на странице бритвы. Он работает для меня.

@using Kendo.Mvc.UI;

Ответ 6

Добавить Kendo.Mvc.dll через NugetPackage и Добавить Kendo.Mvc

Добавить пространство имен в файле webconfig

<system.web>
<pages>
    <namespaces>
        <add namespace="Kendo.Mvc.UI" />
    </namespaces>
</pages>

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ответ 7

Шаг 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>

Ответ 8

Однако у меня была та же проблема, но она была решена после следующих шагов:

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.

Ответ 9

Для меня это был _ViewImports.cshtml который мне нужно было отредактировать

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Kendo.Mvc
@using Kendo.Mvc.UI

Теперь с asp.net core 2.2 страница бритвы разрешает @(Html.Kendo()...