web-dev-qa-db-fra.com

La référence de l'interface utilisateur de Kendo ne fonctionne pas en mode Razor

J'essaie de créer une vue Telerik Grid, mais lorsque je parle de kendo, il ne le reconnaît pas. Visual Studio me donne une erreur lorsque j'essaie de faire référence au kendo. Ceci est le code @(Html.Kendo().Grid) et en dessous l'erreur.

'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?)

J'ai ajouté un paquet dans le fichier BundleConfig pour les scripts et le contenu. De plus, j'ai ajouté @Scripts.Render("~/bundles/kendo") et @Styles.Render("/Content/kendo") directement à la vue rasoir. 

De nombreux articles que j'ai lus suggèrent que l'ajout de <add namespace="Kendo.Mvc.UI"/> au fichier Web.Config fonctionnerait, mais il continue de générer la même erreur. 

Y a-t-il quelque chose qui me manque? 

12
Brian

Le problème est que vous n'avez pas inclus de référence au Kendo.Mvc.dll. Il existe une explication sur la façon de procéder dans la documentation située ici

Par défaut, le répertoire racine du kendo est installé à C:\Program Files (x86)\Telerik

7
RandomWebGuy

J'ai eu le même problème. Le troisième point mentionné ci-dessous a résolu le problème dans mon cas.

1. Inclure les fichiers JavaScript et CSS: L'ordre des scripts et des fichiers CSS est également très important. jQuery doit être inclus avant le (s) fichier (s) de script KendoUI.

2. Ajoutez une référence à Kendo.Mvc.dll: Cliquez avec le bouton droit de la souris sur le nœud Références dans l'Explorateur de solutions, puis cliquez sur Ajouter une référence . Sélectionnez l'onglet Parcourir de la boîte de dialogue Ajouter une référence et naviguez jusqu'à l'emplacement d'installation. de l'interface utilisateur Telerik pour ASP.NET MVC.

3. Mettez à jour le fichier web.config dans le dossier Views: Ouvrez Views/Web.config (ou racine Web.config si vous utilisez ASPX) . Localisez la balise namespaces . Ajoutez un ajout ci-dessous tag à la balise namespaces. 

<add namespace="Kendo.Mvc.UI" />
17
vineel

Je viens d'ajouter la ligne ci-dessous dans la page de rasoir. Cela fonctionne pour moi.

@using Kendo.Mvc.UI;

1
Ramesh P

Lorsque vous avez créé votre projet, vous deviez avoir sélectionné le bon type de projet. Il existe le type de projet application MVC Telerik asp.net et le type de projet Asp.net MVC 5. Choisir le type de projet Kendo UI vous fournira les classes de kendo javascript. C’est le cas lorsque vous voulez utiliser Kendo avec JavaScript, j’ai eu le même problème jusqu’à ce que je retourne choisir le bon type de projet. J'ai passé un jour et demi à essayer d'ajouter les bibliothèques de classes .net parce que mon rasoir ne fonctionnait pas. Je pense que Visual studio était confus quant à ce que j'essayais de faire et il me manquait probablement une bibliothèque de classes .net.

1
jt25617

En ce qui concerne l’ajout de Kendo dans l’application ASP Core existante, j’ai constaté que l’ajout de références aux fichiers css et javascript (js) dans mon _Layout.cshtml n’importe où autre qu'avant les balises <environment> dans le <head> provoquait un problème. J'ai finalement réussi à faire fonctionner cela en ajoutant ce qui suit:

<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>
1
Adam Cox

Cependant, j'ai eu le même problème mais il a été résolu après les étapes suivantes:

1- Outils ouverts ==> Extensions et mises à jour 
2- Tapez sur l'onglet "Online" sur la gauche et recherchez telerik
3- Téléchargez et installez "VSExtensions Telerik ASP.NET AJAX" et "VSExtensions Telerik ASP.NET MVC".
4- Fermer la fenêtre
5- Allez à l'onglet "Telerik"
6- Appuyez sur "Interface utilisateur Telerik pour ASP.NET MVC".
7- Mettre à niveau Wizard et mettre à niveau

Cela a résolu le problème en raison du conflit entre les versions de Telerik entre deux stations. En plus du fait que le kendo n'est pas inclus dans le projet si vous avez installé VS après avoir effectué Telerik.

0
user3540034

Étape 1: Ajoutez Kendo.Mvc.dll aux références . Vous pouvez utiliser la commande suivante de la galerie NuGet.

Install-Package Kendo.Mvc -Version {yourversion}

Étape 2: Ajoutez le fichier js et css du 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>

Étape 3: Ajoutez l'espace de nom Kendo.Mvc.UI dans le fichier web.config.

note: si vous utilisez la zone dans le projet, vous devez ajouter ce code à web.config de la zone.

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

AjouterKendo.Mvc.dll via NugetPackage et Ajouter Kendo.Mvc

Ajouter un espace de noms dans le fichier webconfig

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

 enter image description here

 enter image description here

 enter image description here

 enter image description here

0
Rock

Pour moi, c’était _ViewImports.cshtml que je devais éditer 

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

Maintenant avec asp.net core 2.2 la page du rasoir résout le @(Html.Kendo()...

0
Tom Stickel