gpt4 book ai didi

asp.net-mvc - MVC _layout 页面中放置脚本的位置

转载 作者:行者123 更新时间:2023-12-04 16:48:56 25 4
gpt4 key购买 nike

您好,我通过阅读本网站上的建议了解到脚本应该放在 _layout 页面的底部。我的问题是我不确定“底部”到底在哪里。有些人说它就在标签之前,但这对我不起作用。我曾尝试将脚本放在许多地方,但似乎无处可去。有人可以告诉我我做错了什么。

这是我的关于页面

@{
ViewBag.Title = "About Us";
}

<h2>About</h2>
<p>
Put content here.
</p>

<script type="text/javascript">
$(function () {
alert("Hello World");
});
</script>

这是我的 _Layout 页面
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
@* jQuery works if this line is here but not if it is at the bottom
<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
*@
</head>
<body>
<div class="page">
<div id="header">
<div id="title">
<h1>
My MVC Application</h1>
</div>
<div id="logindisplay">
@Html.Partial("_LogOnPartial")
</div>
<div id="menucontainer">
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
</ul>
</div>
</div>
<div id="main">
@RenderBody()
</div>
<div id="footer">
</div>
</div>
@* jQery does not work if the script is here! *@
<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
</body>
</html>

最佳答案

一些替代方案

绝对有可能在 body 标签的末尾添加 jquery。理想情况下,你脑子里唯一的 js 是 modernizr , html5shiv或类似。

选项1

放一个 @RenderSection("scripts", required: false)在 jQuery 之后 <script... element 作为 body 元素中的最后一行。然后在您的任何 View 中,您将使用

@section scripts
{
<script type="text/javascript">
$(function () {
// page specific js code here
});
</script>
}

选项 2

在你的 jQuery 之间 script元素和您的 body 的关闭元素有一个 script指向相关操作/ View 的相关 js 文件的元素:
<script 
src="@Url.Content("~/Scripts/" + ViewContext.RouteData.GetRequiredString("action") + ".js")"
type="text/javascript">
</script>

关于asp.net-mvc - MVC _layout 页面中放置脚本的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com