Javascript 为什么可以';我不能在我的项目上使用剑道UI控件吗?

Javascript 为什么可以';我不能在我的项目上使用剑道UI控件吗?,javascript,asp.net-mvc,telerik,kendo-ui,Javascript,Asp.net Mvc,Telerik,Kendo Ui,我刚开始使用剑道用户界面并做了教程来学习基础知识,我在VisualStudio202上为MVCWeb应用程序项目创建了一个新的剑道用户界面,并决定对所学内容进行测试,我尝试像教程中一样放置一个网格,但未能运行它 我的意思是,剑道函数没有被识别,这是不应该发生的,因为项目已经有了包含js文件的剑道文件夹 以下是我的观点: <!DOCTYPE html> <html> <head > <link href="Content/kendo/2012.2

我刚开始使用剑道用户界面并做了教程来学习基础知识,我在VisualStudio202上为MVCWeb应用程序项目创建了一个新的剑道用户界面,并决定对所学内容进行测试,我尝试像教程中一样放置一个网格,但未能运行它

我的意思是,剑道函数没有被识别,这是不应该发生的,因为项目已经有了包含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>

$(函数(){
var ds=新的kendo.data.DataSource({
运输:{
阅读:{
url:“http://search.twitter.com/search.json?q=kendoui",
数据类型:“jsonp”
}
},
模式:{
数据:“结果”
}
});
$(“#tweetGrid”).kendoGrid({
列:[“来自用户”、“来自用户名称”、“文本”],
数据源:ds
});
});

我试着将脚本放在头部和身体内部,但无法让剑道功能发挥作用。我遗漏了什么?

根据你的评论

呈现的HTML引用了错误位置的资源文件,因此出现404错误。请记住,视图本身并不知道URL将呈现它。此视图似乎是在
/Test/
路径下呈现的。因为脚本是用相对路径引用的,所以它正在寻找该相对路径。您使用的是什么版本的MVC?他们多次更改了引用视图资源的“正确方式”

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

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

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


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

您所说的“不能让剑道功能正常工作”具体是什么意思?JavaScript控制台是否显示错误?错误是什么?是不是说函数没有定义?浏览器真的得到了kendo.web.min.js文件吗?它说加载资源失败:服务器以404(未找到)的状态响应,它正在搜索脚本。我不知道为什么要在那里查找脚本,它应该在中查找,我在视图中引用了错误的脚本吗?我使用的是MVC 4,所以我必须在我的视图中添加这种引用?这会使我的CSS看起来像
href=“”
?这应该可以做到。使用MVC4,您还可以研究如何使用资源包。它们不是必需的,但可能是将多个引用添加到单个服务器端调用中的有用工具。