C# 如何在MVC4中继承更多渲染片段?

C# 如何在MVC4中继承更多渲染片段?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,大家好,我从mvc4开始,我不知道如何从多个渲染部分继承一个视图。例如PageMain继承_布局,然后是submin1继承PageMain。查看我的代码片段 _Layout.cshtml <body> This is layout @RenderBody() @RenderSection("Main",required: false) </body> PageMain.cshtml inherit from _Layout @{ Layout = "~/V

大家好,我从mvc4开始,我不知道如何从多个渲染部分继承一个视图。例如PageMain继承_布局,然后是submin1继承PageMain。查看我的代码片段

_Layout.cshtml

<body>
This is layout
@RenderBody()
@RenderSection("Main",required: false)
</body>


PageMain.cshtml inherit from _Layout

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
This is PageMain
@section Main{
    This is Main
}
@RenderBody()
@RenderSection("SubMain1",required: false)
@RenderSection("SubMain2",required: false)


SubMain1.cshtml inherit from PageMain

@{
    Layout = "~/Views/PageABC/PageMain.cshtml";
}
This is SubMain1
@section Main{
    This is Main in page SubMain
}
@section SubMain1{
    This is SubMain1
}
@section SubMain2{
    This is SubMain2
}
\u Layout.cshtml
这是布局
@RenderBody()
@RenderSection(“主”,必需:false)
PageMain.cshtml继承自_布局
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
我是PageMain
@主要部分{
这是主要的
}
@RenderBody()
@RenderSection(“submin1”,必填项:false)
@RenderSection(“Submin2”,必填项:false)
submin1.cshtml继承自PageMain
@{
Layout=“~/Views/PageABC/PageMain.cshtml”;
}
这是Submin1
@主要部分{
这是Submin中的主页面
}
@第1节{
这是Submin1
}
@第2节{
这是潜艇2
}

当我尝试它时,我得到的错误
无法直接请求,因为它调用了“RenderSection”方法。你能告诉我这里的错误是什么并给我建议吗?非常感谢。

尝试在PageMain中添加section,类似这样的
@section Main{@RenderSection(“submin”,必选:false)这是Main}
嗨#Sousuke,我尝试过了,submin1.cshtml可以,但是PageMain.cshtml不可以,它只是在文件“~/Views/Home/PageMain.cshtml”中出现错误
无法直接请求,因为它调用“RenderSection”方法
必须将PageMain作为节加载吗?也许可以尝试使用局部视图。你想用这种结构实现什么?也许还有其他方法是的,如上所述,PageMain作为部分,它是从_布局继承的,然后我创建Submin1作为部分,它是从PageMain继承的。我能用它吗?SubMain继承自更多视图(_layoutand PageMain)检查此Try可能在PageMain内添加部分,类似于
@section Main{@RenderSection(“SubMain”,必选:false)这是Main}
Hi#Sousuke,我尝试过了,SubMain.cshtml是可以的,但PageMain.cshtml不是可以的,它只是得到了错误
文件无法直接请求“~/Views/Home/PageMain.cshtml”,因为它调用“RenderSection”方法
您必须将PageMain加载为节?可能尝试改用部分视图。您试图用此结构实现什么?可能还有其他方法是的,如上所述,PageMain作为节,它是从_布局继承的,然后我创建Submin1作为节,它是从PageMain继承的。我可以使用它吗?Submin从更多视图继承(_layoutand PageMain)检查此选项