我尝试这样做的主要动机是获取仅页面底部的部分需要的 Javascript 和其余的 Javascript,而不是在呈现部分的页面中间。
这是我正在尝试做的一个简化示例:
这是在正文之前带有脚本部分的布局。
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
</head>
<body>
@RenderBody()
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
@RenderSection("Scripts", false)
</body>
</html>
这是使用此布局的示例视图。
<h2>This is the view</h2>
@{Html.RenderPartial("_Partial");}
@section Scripts {
<script type="text/javascript">
alert("I'm a view.");
</script>
}
这是从视图中呈现的部分。
<p>This is the partial.</p>
@* this never makes it into the rendered page *@
@section Scripts {
<script type="text/javascript">
alert("I'm a partial.");
</script>
}
在此示例中,视图中指定的标记被放置到部分中,但部分中的标记未放置。是否可以使用 Razor 从局部视图填充部分?如果没有,还有哪些其他方法可以获取仅页面底部的部分需要的 Javascript,而无需全局包含它?