jQuery在MVC4中断

时间:2012-07-20 12:16:48

标签: jquery asp.net-mvc jquery-ui jquery-mobile

MVC4中的jQuery中断

我的MVC4项目中包含jQuery,jQuery Mobile和jQuery-UI。我遇到的问题是,如果页面被刷新,jQuery-UI脚本只会加载,否则jQuery-UI最初不会加载。

我尝试将include脚本移动到页面底部,而不是将其包含在顶部。这似乎有80%的时间有效,但有一个副作用。当我将一些数据发布到服务器时,我会得到两个帖子而不是一个......呃!我似乎陷入困境,我可以在Google上找到任何有助于缓解我的问题的内容。任何帮助或指导将不胜感激。

谢谢!

这是一些添加的代码

这是我的_layout.cshtlm

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>@ViewBag.Title - My ASP.NET MVC Application</title>
        <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
        <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" />
        <link type="text/css" href="~/Content/jquery-ui-1.8.21.custom.css" rel="stylesheet" />
        <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")" type="text/javascript"></script>
        <script src="@Url.Content("http://code.jquery.com/jquery-latest.js")" type="text/javascript"></script>              

        <script src="@Url.Content("~/Scripts/jquery-ui-1.8.21.custom.min.js")" type="text/javascript"></script>  
        <script src="@Url.Content("~/Scripts/jquery.multi-accordion-1.5.3.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/myjQuery.js")" type="text/javascript"></script>   
        <meta name="viewport" content="width=device-width" />
    </head>
    <body>
    <div>

        <header>
        <script>
        </script>
            <div class="content-wrapper wrappingBorder bottomRound shadow" style="background-color:White;margin:0 auto 30px auto;">
                <div class="float-left">
                    <p class="title">NTI Project Management</p>
                </div>
                <div class="float-right">
                  @*<section id="login">
                        @Html.Partial("_LoginPartial")
                    </section>*@
                        <nav>
                            <ul id="menu">
                                <li >@Html.ActionLink("Home", "Index", "Home")</li>
                                <li>@Html.ActionLink("Projects", "Index", "Project")</li>
                                <li>@Html.ActionLink("Profile", "Contact", "Home")</li>
                                <li>@Html.ActionLink("Logout", "Index", "Logout")</li>
                            </ul>
                        </nav>
                </div>
            </div>
        </header>

        @*Start of main content*@
        <div id="body">
            <section class="content-wrapper main-content clear-fix allRound shadow">
                @RenderBody()
            </section>
        </div>
        <footer>
            <div class="content-wrapper">
                <div class="float-left">
                    <p style="font-size: 14px">&copy; @DateTime.Now.Year - 3M</p>
                </div>
            </div>
        </footer>
        </div>   

    </body>     
</html>   

2 个答案:

答案 0 :(得分:1)

听起来像是在加载JQ lib之前加载JQUI等

尝试在_layout /母版页的头部按此顺序移动它:

  • JQ
  • JQUI
  • 其他

Alternaitly,确保您只调用一次库,并使用两个库的最新版本:   - JQ:1.7.1   - JQUI:1.8.21

此外,仔细检查库是否真的“存在”。进入查看源&gt;头&gt;单击每个脚本的URL以查看您是否在MVC中指定了错误的位置。 (有时在使用Content.URL / URL.Action时会发生错误)

由于浏览器缓存,第二次刷新时可能会加载

就双重帖子而言,如果在检查上述内容后仍然存在,显示一些代码也可以帮助我们

答案 1 :(得分:1)

我会首先尝试删除捆绑,以查看是否存在加载订单问题。看起来你正在捆绑scripts / js文件夹并在jquery和jquery.ui之前加载它,这可能是问题吗?