C# 以下部分已定义,但尚未呈现为具有一行条件的布局页面

C# 以下部分已定义,但尚未呈现为具有一行条件的布局页面,c#,.net,asp.net-mvc,razor,razor-pages,C#,.net,Asp.net Mvc,Razor,Razor Pages,我得到下面的错误,但我已经在下面的布局页面上定义了它。我将@(IsSectionDefined更改为@if(IsSectionDefined),因为我需要在else语句中写入null。这为什么会是一个问题 The following sections have been defined but have not been rendered for the layout page "~/Areas/Directors/Views/Shared/_MembersFormLayout.cshtml":

我得到下面的错误,但我已经在下面的布局页面上定义了它。我将
@(IsSectionDefined
更改为
@if(IsSectionDefined
),因为我需要在
else
语句中写入
null
。这为什么会是一个问题

The following sections have been defined but have not been rendered for the layout page "~/Areas/Directors/Views/Shared/_MembersFormLayout.cshtml": "FormCallback".
Layout.cshtml

 <form data-bind="form:{ id: @Model.FormId, callback: @if (IsSectionDefined("FormCallback")){RenderSection("FormCallback", false);}else {@(Html.Raw("null"))}}">
@section FormCallback{members.event.updateImage}

我可以用在上找到的帮助函数修复它


public HelperResult RenderSection(字符串名称,Func defaultContents)
{
if(定义的分区(名称))
{
返回RenderSection(名称);
}
返回defaultContents(空);
}
<form class="clearfix" action="@Request.RawUrl" data-bind="form:{ id: @Model.FormId, callback: @this.RenderSection("FormCallback", @<text>null</text>)}">

public HelperResult RenderSection(string name, Func<dynamic, HelperResult> defaultContents)
{
    if (IsSectionDefined(name))
    {
        return RenderSection(name);
    }
    return defaultContents(null);
}