有人可以告诉我脚本应该放在我的布局页面上的确切方式。无论我采用何种方式,我都会遇到不同的错误或某些控制工作而其他人没有,或者我收到了javascript错误。
我的布局页面是这样的:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>Clients To Profits @ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Styles.Render("~/Content/kendo")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/kendo")
</head>
<body>
<header>
<div class="content-wrapper">
<div class="float-left">
<p class="site-title">@Html.ActionLink("your logo here", "Index", "Home")</p>
</div>
<div class="float-right">
<section id="login">
@Html.Partial("_LoginPartial")
</section>
<nav>
<ul id="menu">
<li>@Html.ActionLink("User", "Index", "UserView", new { area = "" }, null)</li>
<li>@Html.ActionLink("Home", "Index", "Home", new { area = "" }, null)</li>
<li>@Html.ActionLink("API", "Index", "Help", new { area = "" }, null)</li>
</ul>
</nav>
</div>
</div>
</header>
<div id="body">
@RenderSection("featured", required: false)
<section class="content-wrapper main-content clear-fix">
@RenderBody()
</section>
</div>
<footer>
<div class="content-wrapper">
<div class="float-left">
<p>© @DateTime.Now.Year - Pauper To President, Inc.</p>
</div>
</div>
</footer>
@*@Scripts.Render("~/bundles/jquery")*@
@RenderSection("scripts", required: false)
</body>
所有脚本都在顶部注册。但没有一个组合框正确渲染,但日期选择器正在正确渲染。当我在关闭正文标记之前的末尾注册jquery包时,没有一个控件正确呈现,我得到所有这些js错误:
**Uncaught ReferenceError: jQuery is not defined kendo.all.min.js:12
Uncaught TypeError: Cannot read property 'jQuery' of undefined kendo.aspnetmvc.min.js:11
Uncaught ReferenceError: $ is not defined Create:61
Uncaught ReferenceError: jQuery is not defined Create:106
Uncaught ReferenceError: jQuery is not defined Create:116**
kendoUI版本位于1.9.1
,但实际上我正在注册jQuery 2.0.3。当我尝试使用1.9.1并在底部注册时,我得到以下错误:
GET http://localhost:7731/Scripts/kendo/2013.2.716/jquery.min.map 404 (Not Found)
更新 - 已解决 我最终创建了一个新项目。认为问题是我有Telerik MVC UI扩展,KenduUI不同和不同的版本是冲突的。开始了一个新的KendoUI项目,一切正常。添加了原始项目中的所有页面,所有KendoUI内容仍然有用。
答案 0 :(得分:0)
在包含其他脚本(如Kendo)之前,应该包含jQuery。你只会在开发中看到.map错误,据我所知,你可以忽略。