MVC Kendo UI - 脚本标签放置

时间:2013-09-18 01:27:25

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

有人可以告诉我脚本应该放在我的布局页面上的确切方式。无论我采用何种方式,我都会遇到不同的错误或某些控制工作而其他人没有,或者我收到了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>&copy; @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内容仍然有用。

1 个答案:

答案 0 :(得分:0)

在包含其他脚本(如Kendo)之前,应该包含jQuery。你只会在开发中看到.map错误,据我所知,你可以忽略。