Visual Studio 根据mudblazor中的条件在运行时更改列值

5sxhfpxr  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(172)

这是我的泥桌

<MudTable Items="Items"  FixedHeader="true" Style="width: 100%; height: calc(100% - 52px);"
          MultiSelection="true" SelectOnRowClick="false" >
    <HeaderContent>
        <MudTh>@ScanRulesPageLocalizer["Name"]</MudTh>
        <MudTh>@ScanRulesPageLocalizer["Rule"]</MudTh>            
    </HeaderContent>
    <RowTemplate>
        <MudTd DataLabel="Name">@context.Name</MudTd>
        <MudTd DataLabel="Rule">
           
            @if (string.IsNullOrEmpty(@context.rule))
            {
                "IDX";
            }
            else
            {
                "RX";
            }
        </MudTd>
        
    </RowTemplate>
</MudTable>

字符串
但这给了我语法错误
只有赋值、调用、递增、递减、等待和新建对象表达式可以用作语句
如何解决这个问题?

30byixjq

30byixjq1#

if块中的"IDX";"RX";是没有目的的语句。如果您在任何.cs文件中编写相同的代码。您将获得相同的编译器警告,因为该语句没有执行任何操作。因此出现错误,
CS0201只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句

<MudTd DataLabel="Rule">
    @if (string.IsNullOrEmpty(context.rule))
    {
        "IDX";
    }
    else
    {
        "RX";
    }
</MudTd>

字符串
如果你试图根据条件呈现不同的单元格数据,那么你需要在HTML元素集中包围你想要呈现的数据,

<MudTd DataLabel="Rule">
    @if (string.IsNullOrEmpty(context.rule))
    {
        <div>IDX</div>
    }
    else
    {      
        <div>RX</div>
    }
</MudTd>


或者用@符号将其包围起来,以表示以下语句是标记字符串。

<MudTd DataLabel="Rule">
    @if (string.IsNullOrEmpty(context.rule))
    {
        @("IDX")
    }
    else
    {      
        @("RX")
    }
</MudTd>

相关问题