2

我已经下载并使用了带有 Kendo UI 网格的 Kendo UI,但我的源代码非常复杂,原因如下:

  1. 我已经破解了排序以启用不区分大小写的排序。

  2. 在过滤器菜单中显示过滤器菜单、页面大小选择器、过滤器功能菜单和 DatePicker 时,我观察到 UI 错误;我已经用丑陋的黑客解决了这些问题。

  3. 在客户端,我在需要时使用参数化帖子刷新了网格。

  4. 在服务器端,我创建了一个动态处理网格的排序、过滤、页面大小和分页状态的函数。

然而,我的客户告诉我,我们需要一个“简单”的解决方案,一个网格页面应该在一个小时内完成。我认为这对我目前的方法是不现实的,除非我实现一个通用类来处理网格。这可以使用 Linq 来处理表、字段、过滤器、排序、分页和页面大小。我肯定知道这一点,因为我的代码离成为服务器端的通用网格支持者和客户端的 Kendo UI 网格工厂还差得很远。但是,我的客户明确表示我们不需要实现这个类和原型,因为我们应该能够简单地配置 Kendo UI。他告诉我(之前未指定的细节),我们可以从表中返回所有行并在客户端对其进行过滤/排序,因此第 3 点和第 4 点将变得不需要。

我一直在看这里的例子。我想要与cshtml中的示例类似的东西。但是,在我下载的 Telerik Kendo UI 中,我没有任何服务器端内容,因此 IDE 显示Html.Kendo().Grid(Model)不正确。错误如下:

错误 10 'System.Web.Mvc.HtmlHelper' 不包含 'Kendo' 的定义,并且找不到接受类型为 'System.Web.Mvc.HtmlHelper' 的第一个参数的扩展方法 'Kendo'(您是否缺少使用指令还是程序集引用?)

我正在使用带有 Linq 的 ASP.NET MVC3。

如何以链接中 cshtml 文件中描述的样式将 Telerik Kendo UI 与 ASP.NET Razor 一起使用?这是免费的吗?如果没有,费用是多少?我应该安装 KendoUI.Mvc.VSPackage.vsix 吗?

4

2 回答 2

7

为了使用额外的助手,你需要将它们注册到 Razor 视图引擎。这是在web.config文件中完成的,或者@using在 .cshtml 文件之上使用语句。

这是我的一个例子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>

就许可而言,这不是免费软件。您可以在他们的网站上查看许可条款和价格。根据他们的许可证,每个使用 Telerik 控件的开发人员都需要拥有许可证。许可证不是公司范围的,也不是项目范围的。

您不需要安装 vsix,但它可以通过自动添加对所需程序集的引用以及将所需条目添加到 web.config 文件来使您的生活更轻松。

于 2013-01-23T11:59:55.053 回答
0

此外,如果您使用 MVC 5,您可能还想添加对 Kendo UI 的引用。您可以通过转到项目中的引用,右键单击并添加引用来完成此操作。如果未列出,请单击浏览,然后浏览到项目中的 lib 文件夹,然后单击 Kendo.Mvc.dll 然后添加。希望这可以帮助某人。

于 2014-08-08T20:13:33.610 回答