【问题标题】:Why can't I use Kendo UI controls on my project?为什么我不能在我的项目中使用 Kendo UI 控件?
【发布时间】:2013-01-11 18:26:42
【问题描述】:

我刚开始使用 Kendo UI 并做了this 教程来学习基础知识,我在 Visual Studio 202 上为 MVC Web 应用程序项目创建了一个新的 Kendo UI 并决定测试我学到的东西,我试着把网格就像教程中一样,但未能运行它。

我的意思是无法识别剑道功能,这不应该发生,因为该项目已经有带有 js 文件的剑道文件夹。

我的视图如下所示:

<!DOCTYPE html>

<html>
<head >
    <link href="Content/kendo/2012.2.710/kendo.common.min.css" rel="stylesheet" type="text/css" />
    <link href="Content/kendo/2012.2.710/kendo.default.min.css" rel="stylesheet" type="text/css" />
    <title><%: ViewBag.Title %></title>
</head>
    <body>
        <h1><%: ViewBag.GestionTitle %></h1>
        <div id="tweetGrid"></div>

        <script src="Scripts/jquery-1.8.2.min.js"></script>
        <script src="Scripts/kendo/2012.2.710/kendo.web.min.js"></script>
        <script>            
            $(function () {
                var ds = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url: "http://search.twitter.com/search.json?q=kendoui",
                            dataType: "jsonp"
                        }
                    },
                    schema: {
                        data: "results"
                    }
                });
                $("#tweetGrid").kendoGrid({
                    columns: ["from_user", "from_user_name", "text"],
                    dataSource: ds
                });
            });
        </script>
    </body>
</html>

我尝试将脚本放在头部和身体内,但无法让剑道功能正常工作。我错过了什么?

【问题讨论】:

标签: javascript asp.net-mvc telerik kendo-ui


【解决方案1】:

根据您的评论...

呈现的 HTML 引用了错误位置的资源文件,因此出现 404 错误。请记住,视图本身并没有关于将呈现它的 URL 的概念。似乎这个视图正在/Test/ 路径下呈现。由于脚本是通过相对路径引用的,因此它正在寻找该相对路径。你使用的是什么版本的 MVC?他们改变了几次引用视图资源的“正确方式”。

例如,您可以像这样引用脚本:

<script src="<%: Url.Content("~/Scripts/kendo/2012.2.710/kendo.web.min.js") %>"></script>

这实质上调用服务器端预处理来确定文件的正确客户端路径(基于相对于应用程序根的服务器端路径)并在script 标记中输出该路径。因此,无论视图在哪里使用,它都应该始终具有资源文件的正确路径。

您希望对任何页面资源执行此操作。 JavaScript 文件、CSS 文件,甚至是适当的图像。

【讨论】:

  • 我使用的是 MVC 4,所以我必须在我的视图中添加对所有内容的这种引用?这会让我的 CSS 看起来像 href="&lt;%: Url.Content("~/Content/kendo/2012.2.710/kendo.common.min.css") %&gt;"?
  • 这应该可以解决问题。使用 MVC 4,您还可以考虑使用资源包。它们不是必需的,但可能是一个有用的工具,可以将多个引用添加到单个服务器端调用中。
猜你喜欢
  • 1970-01-01
  • 2021-10-25
  • 2018-12-07
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 2016-12-21
相关资源
最近更新 更多