asp.net-mvc – RenderSection在ASP.NET MVC3中的部分视图中不起作用

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – RenderSection在ASP.NET MVC3中的部分视图中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的ASP.NET MVC3项目中,我有一个由Visual Studio 2010生成的标准_Layout.cshtml,并在关闭我的< body>之后标签,我放置一个RenderSection:

_Layout.cshtml:

</body>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
@RenderSection("ScriptContent",required: false)
</html>

然后在我的Index.cshtml视图中我有:

@model MyApp.viewmodels.Myviewmodel
@{ Html.RenderPartial("MyPartial",Model);  }

如果我将@section ScriptContent放在Index.cshtml中,它会正确显示.如果我将它放在我的部分视图MyPartial.cshtml中:

@model MyApp.viewmodels.Myviewmodel

@section ScriptContent {
     <script src="@Url.Content("~/Scripts/Filters.js")" type="text/javascript"></script>    
}

在我的页面来源中,我有:

</body>
     <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>    
</html>

意思是@section没有被执行.可能是什么原因?谢谢

解决方法

无法在局部视图中在布局中设置@section.作为一种解决方法,您可以调用一个动作来呈现必要的< script>和HTML – 虽然这不是很优雅.

猜你在找的asp.Net相关文章