将javascript的PartialView放到页面特殊位置
Put javascript of PartialView to special place on page
我有以下页面:
Page.cshtml:
<some html>
@foreach (var item in Model.OffersOutstanding)
{
@Html.Partial("PartialOfferAccept", item.AcceptForm)
}
</some html>
<script>
// all js here
</script>
/* end of file */
和 PartialView PartialOfferAccept.cshtml:
<some html>...</some html>
<script>
// script, specified for partial view
</script>
结果 html 它有效,但混合了 js 和 html。我想将所有局部视图脚本放在页面末尾。最好使用 RenderAction,但 RenderAction 只允许用于布局。任何分离部分视图内容并放在页面上不同位置的方法。
PS。不提供将局部视图分离为 2 个局部视图的功能:)
事实证明,我的以下答案显然无法通过设计实现。不确定为什么会这样,但是以下问题提出了与您遇到的问题相同的问题,并且它链接到 Nuget 包以启用以下功能。
Injecting content into specific sections from a partial view ASP.NET MVC 3 with Razor View Engine
旧答案
您应该使用@section 助手。在该部分视图中,您只需执行以下操作:
@section Scripts {
<script>
//Partial view code here
</script>
}
然后在您的 _Layout.cshtml 页面底部应该有以下内容
@RenderSection("Scripts", false)
通过这种方式,您可以轻松地管理所有脚本并将其放置在一个位置,并在每个视图的基础上使用自定义脚本
我有以下页面:
Page.cshtml:
<some html>
@foreach (var item in Model.OffersOutstanding)
{
@Html.Partial("PartialOfferAccept", item.AcceptForm)
}
</some html>
<script>
// all js here
</script>
/* end of file */
和 PartialView PartialOfferAccept.cshtml:
<some html>...</some html>
<script>
// script, specified for partial view
</script>
结果 html 它有效,但混合了 js 和 html。我想将所有局部视图脚本放在页面末尾。最好使用 RenderAction,但 RenderAction 只允许用于布局。任何分离部分视图内容并放在页面上不同位置的方法。 PS。不提供将局部视图分离为 2 个局部视图的功能:)
事实证明,我的以下答案显然无法通过设计实现。不确定为什么会这样,但是以下问题提出了与您遇到的问题相同的问题,并且它链接到 Nuget 包以启用以下功能。
Injecting content into specific sections from a partial view ASP.NET MVC 3 with Razor View Engine
旧答案
您应该使用@section 助手。在该部分视图中,您只需执行以下操作:
@section Scripts {
<script>
//Partial view code here
</script>
}
然后在您的 _Layout.cshtml 页面底部应该有以下内容
@RenderSection("Scripts", false)
通过这种方式,您可以轻松地管理所有脚本并将其放置在一个位置,并在每个视图的基础上使用自定义脚本