Javascript MVC视图文件_Layout.cshtml中头部和主体的渲染包之间的差异

Javascript MVC视图文件_Layout.cshtml中头部和主体的渲染包之间的差异,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我想在ASP.NETMVC中使用jQueryUIDatePicker 这是一个网站教程的作品: 步骤如下: 步骤1: 在_Layout.cshtml文件中从body到head修改捆绑包 <head> ... @Scripts.Render("~/bundles/jquery") </head> ... @Scripts.Render(“~/bundles/jquery”) 步骤2: 要为datetime选择器函数创建文本框

我想在ASP.NETMVC中使用jQueryUIDatePicker

这是一个网站教程的作品:

步骤如下:

步骤1: 在_Layout.cshtml文件中从body到head修改捆绑包

    <head>
       ...
       @Scripts.Render("~/bundles/jquery")
    </head>

...
@Scripts.Render(“~/bundles/jquery”)
步骤2: 要为datetime选择器函数创建文本框,请选择datetime

步骤3: 包括来自QuickAccess的jQuery“链接”和“脚本”

步骤4: 设置当用户选择datetime时显示datetime的函数

PS:上面超链接中步骤2到步骤4的详细信息。以及Index.cshtml文件中的所有内容

    <head>
       ...
       @Scripts.Render("~/bundles/jquery")
    </head>
问题是为什么我必须将bundles脚本部分修改为head?(步骤1)

为什么我在body部分设置bundles脚本时它不起作用

身体和头部的脚本有什么区别


您可以将脚本链接放置在文档中的任意位置。你应该把它放在哪里是有争议的

唯一的想法是你应该确定你是否把脚本放在正确的顺序。例如,JqueryUI插件依赖于Jquery插件。因此,您应该始终先包含Jquery,然后再包含Jquery UI

在视频Visual Studio中,将Render模块放置在页面的末尾,作者决定将其放置在页面的开头,然后在添加Jquery UI时,将其添加到index.cshtml中,以在Jquery之后呈现Jquery UI

如果希望将渲染保持在_布局页面的底部,则应在_布局页面的渲染部分模块之后添加jquery UI链接

示例

<!DOCTYPE html>
<html>
<head>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewBag.Title</title>
    @Styles.Render("~/Content/css")
</head>
<body>

    <div class="container-fluid">
        @RenderBody()
    </div>
    @Scripts.Render("~/bundles/jquery")
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
    @RenderSection("Scripts", required: false)
    </body>
</html>

@视图包。标题
@style.Render(“~/Content/css”)
@RenderBody()
@Scripts.Render(“~/bundles/jquery”)
@RenderSection(“脚本”,必需:false)

希望这有帮助

我在一个新的asp.net MVC项目中多次尝试在_Layout.cshtml body部分设置捆绑包脚本。但它实际上不起作用……就我个人而言,我总是将我的
@Scripts.Render()
放在关闭
标记之前(尽管有赞成和反对的论点)。如果它不起作用,您需要显示您尝试过的代码。可能您的脚本顺序错误,或者脚本重复。我尝试过的所有代码都是在默认MVC项目中遵循我文章(youtube教程视频)中的超链接。“@Scripts.Render(~/../bundles)”在MVC默认项目中的位置与您的编码习惯相同。非常感谢。我意识到我必须先声明jQuery at_布局页面,然后再在您的答案之后添加jQuery UI ay索引页面。但我还有两个问题想问你。第一:如何在Render部分模块之后的_布局页面中添加jquery UI链接?第二:我真的不知道如何确保我把脚本放在了正确的顺序上?我已经添加了一个例子来确保jquery ui总是在jquery之后呈现。对不起,太晚了,无法回复你!!!我试着在脚本中设置不同的位置。然后我意识到如何使用你的答案!谢谢!!