已定义以下部分但尚未为布局页面呈现,即使我已设置required:false

时间:2015-08-03 08:39:43

标签: asp.net-mvc

这个问题已经被问了很多,答案一直是将其设置为@RenderSection("MySection", false)

然而在我的情况下,这是行不通的。

错误是:

  

以下部分已定义但尚未呈现   对于布局页面“〜/ Views / Shared / KittenLayout.cshtml”:“styles”。

我的网页是:

  • Kitten.cshtml,其中包含Layout =“〜/ Views / Shared / KittenLayout.cshtml”;
  • KittenLayout.cshtml,其中定义了两个部分,@section stuffsection @otherstuff,并且它有Layout =“〜/ Views / Shared / _KittenMasterLayout.cshtml”;
  • _KittenMasterLayout.cshtml,其中包含@RenderSection("styles", required: false)

为什么我收到此错误?

1 个答案:

答案 0 :(得分:3)

我已经修复了这个,显然没有继承,所以如果你有页面A-> B-> C,其中A是主页面,B是主页面,C是主 - 主页面,然后如果你在C上定义一个部分并在A上渲染它你将得到一个错误。您还必须将它添加到B并直接传递它。

将其添加到第B页修复它:

EndTime