在"上使用不同的主题错误已经定义了以下部分但尚未为布局页面呈现#34;

时间:2015-08-26 13:38:01

标签: c# asp.net-mvc razor nopcommerce

有人可以在下面解释我的代码吗?如果我理解正确,它会告诉我如果定义了Breadcrumb部分,则渲染此部分。但它已经在If子句本身内部定义,它是如何工作的?此代码来自NopCommerce _ColumnsOne.cshtml。我实现了一个插件,它在默认主题上运行正常,但它会在另一个主题上给我一个错误,告诉我"以下部分已经定义但尚未针对布局页面进行渲染"〜/主题/noproot/Views/Shared/_ColumnsOne.cshtml":" Breadcrumb"。"

在另一个主题_ColumnsOne.cshtml中,这一行确实不存在。所以它看起来像下面。我很困惑为什么当我在其他主题上时,它试图从默认主题渲染这个共享视图。

标准主题:

    @{
    Layout = "~/Views/Shared/_Root.cshtml";
}
@if (IsSectionDefined("Breadcrumb"))
{
    @section Breadcrumb {
        @RenderSection("Breadcrumb")
    }
}
<div class="center-1">
    @Html.Widget("main_column_before")
    @RenderBody()
    @Html.Widget("main_column_after")
</div>

其他主题;

    @{
    Layout = "~/Views/Shared/_Root.cshtml";
}
<div class="">
    @Html.Widget("main_column_before")

    @RenderBody()
    @Html.Widget("main_column_after")
</div>

0 个答案:

没有答案