微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐