Moją główną motywacją do zrobienia tego jest uzyskanie JavaScript, który jest wymagany tylko przez częściową część na dole strony z resztą JavaScript, a nie na środku strony, na której jest renderowana część.
Oto uproszczony przykład tego, co próbuję zrobić:
Oto układ z sekcją Skrypty tuż przed treścią.
<!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>
Oto przykładowy widok wykorzystujący ten układ.
<h2>This is the view</h2>
@{Html.RenderPartial("_Partial");}
@section Scripts {
<script type="text/javascript">
alert("I'm a view.");
</script>
}
A oto fragment renderowany z widoku.
<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>
}
W tym przykładzie znacznik określony w widoku jest umieszczany w sekcji, ale znacznik z części nie jest. Czy można wypełnić sekcję z częściowego widoku za pomocą Razor? Jeśli nie, jakie są inne metody uzyskiwania JavaScript, które są potrzebne tylko przez częściowe u dołu strony, bez uwzględniania go globalnie?