javascript - 错误 : Kendo"Something"is not a function

标签 javascript jquery asp.net-mvc-4 xslt kendo-ui

所以我正在尝试将我的纯 HTML/Javascript 站点(工作正常)转换为 ASP MVC4 项目。我所做的是获取 XML 并使用 XSLT 进行转换。我真的使用代码 from here这样做

在我的 _Layout.cshtml 中,我使用 razor 加载资源

<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>  
<meta http-equiv="content-type" content="text/html; charset=utf-8" />        
 ... things...
  @Scripts.Render("~/bundles/kendoScripts")
  @Scripts.Render("~/bundles/customScript") 
  @Styles.Render("~/Content/themes/Kendo")
  @Styles.Render("~/Content/themes/customCSS")   

我使用布局的 View 非常简单,这就是页面中的全部内容

@using Summ.ExtensionCode
@model SumMVC.Models.SummaryModel
@{
  ViewBag.Title = "_Summary";
  Layout = "~/Views/Shared/_Layout.cshtml";
}

<div data-role="content">
@Html.RenderXml(Model.ProgramFilename, Model.StylesheetFilename, Model.Parameters)
</div>

@Scripts.Render("~/bundles/customScript") 中,是一个 JS 文件,renderpage.js 有这段代码 $(this).kendoDropDownList() ; 这是一个选择元素。但是我收到一个错误,指出 .kendoDropDownList(); 不是一个函数。来自 Firebug 的错误:TypeError: $(...).kendoDropDownList is not a function 和来自 GoogleChrome 的错误 Uncaught TypeError: Object [object Object] has no method 'kendoDropDownList'。似乎在我的包中,JS 文件 kendo.all.min.js 没有开始加载,这里看起来像

bundles.Add(new ScriptBundle("~/bundles/kendoScripts")
            .Include("~/Scripts/kendoui/kendo.web.min.js")
            .Include("~/Scripts/kendoui/kendo.all.min.js")
            );

....
bundles.Add(new ScriptBundle("~/bundles/customScript")
           .....
            .Include("~/Scripts/SummaryScript/renderpage.js")
             ....                       
            );

我假设代码可能在 kendo.all.min.js 加载完成之前执行,但正如您在上面看到的那样,renderpage.js 在 kendo 之后执行。有什么想法或见解吗?

更新

我在head标签中手动加载MVC项目中的资源时忘记加上了

<script type="text/javascript" src="~/Scripts/kendoui/kendo.web.min.js"></script>       
<script type="text/javascript" src="~/Scripts/kendoui/kendo.all.min.js"></script>
....
<script type="text/javascript" src="~/Scripts/ExecSummaryScript/renderpage.js"></script>

它工作正常。

更新2

原来根本没有加载 Kendo JS 文件。我检查了开发控制台中的资源,发现它甚至不存在。仔细检查后,我注意到除了一些 .min.js 文件外,所有资源都已加载。有一些已加载但未加载的是 jquery-ui-1.10.3.min.js 和 jquery.browser.min.js。

最佳答案

我知道这会很愚蠢。事实证明这是一个 MVC4 gothcha。我不得不重命名我的文件。显然它不喜欢扩展名为 min.js I found the answer here 的文件

关于javascript - 错误 : Kendo"Something"is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912567/

相关文章:

c# - 在 ASP.NET MVC 4 中设置外键

javascript - 调整 JS Expand/Collapse 函数,它的流动性有点颠簸

javascript - 在 jsx 中呈现列表时的多次返回

javascript - 使用 JavaScript 将多个属性插入到 html 标签中,而不是在标签之间

JQuery UI -draggable() - 捕捉旋转的图片

c# - ASP.NET MVC 4 + Ninject MVC 3 = 没有为此对象定义无参数构造函数

javascript - 如何在 jqGrid 中的日期列中使用输入类型 ='date'

javascript - CSS 技能栏响应式

javascript - CSS/JS : Evenly spreading elements across multiple lines

jquery - 我需要有关 jQuery 搜索输入的指导