[英]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仅允许用于Layouts。 分离部分视图内容并将其放置在页面上不同位置的任何方法。 PS。 不能将部分视图分为2个部分视图:)
事实证明,我的以下答案显然是无法通过设计实现的。 不知道为什么会这样,但是以下问题与您遇到的问题相同,并且链接到Nuget包以启用以下功能。
使用Razor View Engine从局部视图ASP.NET MVC 3将内容注入特定部分
旧答案
您应该使用@section帮助器。 在该局部视图上,您只需要执行以下操作:
@section Scripts {
<script>
//Partial view code here
</script>
}
然后在_Layout.cshtml上,页面底部应具有以下内容
@RenderSection("Scripts", false)
这样,您可以轻松地在每个视图的基础上使用自定义脚本来管理所有脚本并将其放置在一个位置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.