htmlhelper 不包含 ASP.NET MVC RAZOR 中的剑道定义

Posted

技术标签:

【中文标题】htmlhelper 不包含 ASP.NET MVC RAZOR 中的剑道定义【英文标题】:htmlhelper does not contain a definition for kendo in ASP.NET MVC RAZOR 【发布时间】:2016-10-03 08:52:31 【问题描述】:

我正在尝试为 ASP.NET MVC 应用程序安装 kendo UI,但出现以下错误。 htmlhelper 不包含剑道的定义

我有使用 kendo ui 的 ASP.NET 项目,我已经在 require 文件夹中复制了 require kendo 样式和脚本,在 web.config 中添加了命名空间详细信息,在 bundleConfig.cs 和 kendo.mvc dll 中添加了引用。我已经按照以下教程进行操作

http://docs.telerik.com/kendo-ui/aspnet-mvc/asp-net-mvc-5

我不是我想念的,两个应用程序都是 ASP.NET MVC 5。

测试代码如下,我试图让它工作

 @(Html.Kendo().DatePicker().Name("datepicker"))

【问题讨论】:

【参考方案1】:

让 ASP.NET MVC 知道服务器端包装器所在的 Kendo.Mvc.UI 命名空间。为此,请更新 Web 应用程序的 web.config 文件。

第 1 步打开 Views/Web.config,如果使用 ASPX,则打开根 Web.config。

第 2 步找到命名空间标签。

步骤 3 将添加标签附加到命名空间标签。

示例

<namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="Kendo.Mvc.UI" />
</namespaces>

第 4 步将绑定重定向添加到您当前的 System.Web.Mvc 版本。

示例

<dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-[version-of-kendo-dll-that-you-are-using]" newVersion="[version-of-kendo-dll-that-you-are-using]" />
</dependentAssembly>

【讨论】:

我已经完成了所有这些步骤,但仍然无法正常工作 尝试在 Views 文件夹内的 _ViewStart.cshtml 文件中添加@using Kendo.Mvc.UI 还要检查命名空间是否添加到 Views 文件夹内的 web.config 中,而不是根文件夹的 web.config 中 我已经使用 Kendo.Mvc.Extensions 添加了控制器类;使用 Kendo.Mvc.UI;并且正在识别,但由于某些原因它仍然无法在剃刀视图页面中工作 您是否尝试过在_ViewStart.cshtml文件中添加检查?

以上是关于htmlhelper 不包含 ASP.NET MVC RAZOR 中的剑道定义的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC HtmlHelper之Html.ActionLink

如何禁用 ASP.NET MVC 中 HtmlHelper 方法生成的单选按钮和复选框?

在 ASP.NET MVC 3 中添加您自己的 HtmlHelper

在 ASP.net core mvc 3.1 中的 HtmlHelper 扩展方法中使用 DataAnnotation 本地化器

ASP.Net MVC开发基础学习笔记:二HtmlHelper与扩展方法

在ASP.NET MVC中使用DropDownList