.net 嵌套/继承布局页不工作

.net 嵌套/继承布局页不工作,.net,asp.net,asp.net-mvc,asp.net-mvc-3,.net,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我有以下的布局页面 _StyledLayout.cshtml: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>@ViewBag.Title</title> <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="tex

我有以下的布局页面

_StyledLayout.cshtml:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />


    <title>@ViewBag.Title</title>

    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

    @RenderSection("Head", false)
</head>
<body>
    @RenderBody()
</body>
</html>
@{
    Layout = "~/Views/Shared/_StyledLayout.cshtml";
}

@section Head
{
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>

}

@RenderBody()

@视图包。标题
@渲染部分(“头部”,假)
@RenderBody()
_StyledPageLayout.cshtml:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />


    <title>@ViewBag.Title</title>

    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

    @RenderSection("Head", false)
</head>
<body>
    @RenderBody()
</body>
</html>
@{
    Layout = "~/Views/Shared/_StyledLayout.cshtml";
}

@section Head
{
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>

}

@RenderBody()
@{
Layout=“~/Views/Shared/_StyledLayout.cshtml”;
}
@科长
{
}
@RenderBody()
Details.cshtml:

@using System.Data;

@model ASPNETMVC3.Models.ConfigModel
@{
    ViewBag.Title = "Details";
    Layout = "~/Views/Shared/_StyledPageLayout.cshtml";
}

@section Head
{
<script type="text/javascript">

        var oTable;

        $(document).ready(function () {  

            $(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });

        });

    </script>
}

<h2>
    Details</h2>
@使用系统数据;
@型号ASPNETMVC3.Models.ConfigModel
@{
ViewBag.Title=“详细信息”;
Layout=“~/Views/Shared/_StyledPageLayout.cshtml”;
}
@科长
{
可变的;
$(文档).ready(函数(){
$(“.datepicker”).datepicker({dateFormat:'dd/mm/yy'});
});
}
细节
在这个设置中,当我转到“详细信息”时,我得到一个错误:*以下部分已经定义,但尚未呈现在布局页面“~/Views/Shared/_StyledPageLayout.cshtml”:“Head”。*


我做错了什么?

\u StyledPageLayout.cshtml

@section Head
{
    @if (IsSectionDefined("Head"))
    {
        // If the view contains a Head section use that instead
        @RenderSection("Head")
    }
    else
    {
        // The view doesn't have a Head section => use some default output
        <script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
    }
}
@段头
{
@如果(定义为“头部”)
{
//如果视图包含头部截面,请改用该截面
@渲染部分(“头”)
}
其他的
{
//视图没有Head部分=>使用一些默认输出
}
}

\u StyledPageLayout.cshtml

@section Head
{
    @if (IsSectionDefined("Head"))
    {
        // If the view contains a Head section use that instead
        @RenderSection("Head")
    }
    else
    {
        // The view doesn't have a Head section => use some default output
        <script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
    }
}
@段头
{
@如果(定义为“头部”)
{
//如果视图包含头部截面,请改用该截面
@渲染部分(“头”)
}
其他的
{
//视图没有Head部分=>使用一些默认输出
}
}

基本上与公认的答案相同,但如果不需要默认渲染,则会更整洁一些

@section Head
{
   @RenderSection("Head", false)
}

…其中“false”表示不需要该部分。

基本上与接受的答案相同,但如果不需要默认渲染,则会更整洁一些

@section Head
{
   @RenderSection("Head", false)
}

…如果“false”表示不需要该节。

那么我必须复制这些节吗?我希望StyledPageLayout会采用StyledPage中的任何内容,然后细节会将这2个内容与它想要添加到head部分的任何内容结合起来。例如,我不想在各种视图中引用jquery.ui,但可能视图不支持继承,那么我必须复制这些部分吗?我希望StyledPageLayout会采用StyledPage中的任何内容,然后细节会将这2个内容与它想要添加到head部分的任何内容结合起来。例如,我不想在各种视图中引用jquery.ui,但视图可能不支持继承