Jac*_*hor 7 javascript xslt jquery asp.net-mvc-4 kendo-ui
所以我试图将我的纯HTML/Javascript网站(工作正常)转换为ASP MVC4项目.我所做的是获取和使用XML和XSLT进行转换.我最近使用这里的代码来做到这一点
在我用_Layout.cshtml我的剃刀加载资源
<!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")
Run Code Online (Sandbox Code Playgroud)
我使用布局的视图非常简单,这就是页面中的所有内容
@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>
Run Code Online (Sandbox Code Playgroud)
在@Scripts.Render("~/bundles/customScript"),是一个JS文件,renderpage.js,它有一些代码$(this).kendoDropDownList();,这是一个select元素.但我收到的错误.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")
....
);
Run Code Online (Sandbox Code Playgroud)
我假设在kendo.all.min.js完成加载之前可能正在执行代码,但正如您在上面看到的,renderpage.js是在kendo之后.任何想法或见解?
UPDATE
当我在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>
Run Code Online (Sandbox Code Playgroud)
它工作正常.
UPDATE2
原来没有加载Kendo JS文件.我检查开发控制台中的资源,并注意到它甚至没有.仔细检查我发现除了一些.min.js文件外,所有资源都已加载.有一些已加载,但有些未加载的是jquery-ui-1.10.3.min.js和jquery.browser.min.js.