@Section没有在MVC 5头部中呈现

时间:2015-08-06 18:41:53

标签: javascript asp.net-mvc

简单的问题:我想在我的视图中放置一些Javascript。我在_Layout中定义了一个部分:

<head>
    @RenderSection("Javascript",required:false)
</head>

在我的观点底部我放置了:

@section Javascript{
    <script type="text/javascript">
        $(document).ready(function() {
            $('.collapse').on('shown.bs.collapse', function() {
                $(this).parent().find(".glyphicon-plus").removeClass("glyphicon-plus").addClass("glyphicon-minus");
            }).on('hidden.bs.collapse', function() {
                $(this).parent().find(".glyphicon-minus").removeClass("glyphicon-minus").addClass("glyphicon-plus");
            });      
        });
    </script>
}

这在我看来并不呈现。我错过了什么?

编辑:

我将@RenderSection移动到_Layout页面的body部分仍然无法正常工作。然后我拿了Javascript并直接注入_Layout的body部分,现在有效吗?我错过了@RenderSection的另一个设置吗?

1 个答案:

答案 0 :(得分:0)

@RenderSection("Javascript",required: false)放在</body>文件中_Layout之前,它应该有效。

编辑:

确保您的_ViewStart.cshtml文件夹中包含<{p}}的文件名为Views

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

如果你不这样做。确保在您的视图文件中写入Layout = "~/Views/Shared/_Layout.cshtml";