如何在 Razor 中使用 Kendo UI?
Posted
技术标签:
【中文标题】如何在 Razor 中使用 Kendo UI?【英文标题】:How can I use Kendo UI with Razor? 【发布时间】:2013-01-06 20:37:05 【问题描述】:我已经下载并使用了带有 Kendo UI 网格的 Kendo UI,但我的源代码非常复杂,原因如下:
我已经破解了排序以启用不区分大小写的排序。
我观察到在过滤器菜单中显示过滤器菜单、页面大小选择器、过滤器功能菜单和 DatePicker 时出现 UI 错误;我已经用丑陋的 hack 解决了这些问题。
在客户端,我在需要时使用参数化帖子刷新了网格。
在服务器端,我创建了一个动态处理网格的排序、过滤、页面大小和分页状态的函数。
但是,我的客户告诉我,我们需要一个“简单”的解决方案,一个网格页面应该在一个小时内完成。我认为这对我目前的方法是不现实的,除非我实现一个通用类来处理网格。这可以使用 Linq 来处理表、字段、过滤器、排序、分页和页面大小。我肯定知道这一点,因为我的代码离成为服务器端的通用网格支持者和客户端的 Kendo UI 网格工厂还差得很远。但是,我的客户明确表示我们不需要实现这个类和原型,因为我们应该能够简单地配置 Kendo UI。他告诉我(之前未指定的细节),我们可以从表中返回所有行并在客户端对其进行过滤/排序,因此第 3 点和第 4 点将变得不需要。
我一直在查看示例 here。我想要与cshtml中的示例类似的东西。但是,在我下载的 Telerik Kendo UI 中,我没有任何服务器端内容,因此 IDE 显示 Html.Kendo().Grid(Model)
不正确。错误如下:
错误 10“System.Web.Mvc.HtmlHelper”不包含“Kendo”的定义,并且找不到接受“System.Web.Mvc.HtmlHelper”类型的第一个参数的扩展方法“Kendo”(是您缺少 using 指令或程序集引用?)
我正在使用带有 Linq 的 ASP.NET MVC3。
如何以链接中 cshtml 文件中描述的样式将 Telerik Kendo UI 与 ASP.NET Razor 一起使用?这是免费的吗?如果没有,费用是多少?我应该安装 KendoUI.Mvc.VSPackage.vsix 吗?
【问题讨论】:
不,用于 MVC 的 Kendo 不是“免费的”。你有什么版本? 【参考方案1】:为了使用额外的助手,你需要将它们注册到 Razor 视图引擎。这是在 web.config
文件中完成的,或者在 .cshtml 文件顶部使用 @using
语句。
这是我web.config
的一个例子
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="Kendo.Mvc.UI"/>
</namespaces>
</pages>
</system.web.webPages.razor>
就许可而言,这不是免费软件。您可以在their website 上查看许可条款和价格。根据他们的许可证,每个使用 Telerik 控件的开发人员都需要拥有许可证。许可不是公司范围的,也不是项目范围的。
您不需要安装 vsix,但它可以通过自动添加对所需程序集的引用以及将所需条目添加到 web.config 文件来让您的生活更轻松。
【讨论】:
感谢您的回答。我需要下载一些东西吗? 这是我得到的错误:c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\2eb65780\a625994f\App_Web_error500.cshtml.62599428.kfutdc2x。 0.cs(27):错误 CS0246:找不到类型或命名空间名称“Kendo”(您是否缺少 using 指令或程序集引用?) 您需要有 Kendo 程序集和脚本。如果您没有它们(如果您从新项目开始并且没有安装 Kendo),那么您需要下载 Kendo 并安装它。 在这种情况下,您没有 Kendo 程序集。下载并安装它们。有可用的试用版,或者如果您正在开发具有 GPLv3 许可证的软件(可能没有),您可以获得免费许可证。 感谢您的回答。【参考方案2】:此外,如果您使用 MVC 5,您可能希望添加对 Kendo UI 的引用。您可以通过转到项目中的引用,右键单击并添加引用来完成此操作。如果未列出,请单击浏览,然后浏览到项目中的 lib 文件夹,然后单击 Kendo.Mvc.dll 然后添加。希望这可以帮助某人。
【讨论】:
以上是关于如何在 Razor 中使用 Kendo UI?的主要内容,如果未能解决你的问题,请参考以下文章