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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....