Asp.net-Core

檢查 RenderFragment 是否為空

  • October 4, 2020

有沒有辦法檢查 RenderFragment 是否為空?

例如,在下面的程式碼中,MyComp顯示Detailif為 true,您可以通過點擊標題Open進行切換。Open現在如果沒有標題,我希望Detail片段始終處於打開狀態。如果有像HeaderTitle.IsEmpty.

   <MyComp Open="false">
       <HeaderTitle>
            @if (!String.IsNullOrEmpty(hdr)) {
                ...
               <div class="flex-grow"> @hdr </div>
           }
       </HeaderTitle>
       <Detail>
           ...
       </Detail>
  </MyComp>

編輯

為了進一步討論,我在這裡添加了一個功能請求。

老問題,但由於它沒有答案並且得到了投票……

RenderFragment 是一種程式碼方法,而不是容器,因此它沒有Empty狀態。它可以是 null - 在它不會產生渲染輸出的意義上相當於空。

在這個問題的上下文中,您可以有效地null視為Empty- 並且只需在您的程式碼中有一個方法

bool HeaderTitleIsEmpty => HeaderTitle is null;

引用自:https://stackoverflow.com/questions/56118436