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 – 虽然这不是很优雅.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...