11

在我的 ASP.NET MVC3 项目中,我有一个_Layout.cshtml由 Visual Studio 2010 生成的标准,在关闭我的<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未执行。可能是什么原因?谢谢

4

1 回答 1

16

不能@section从局部视图中设置布局。作为一种解决方法,您可以改为调用呈现必要<script>和 HTML 的操作 - 尽管这不是很优雅。

于 2012-12-19T13:23:18.100 回答