C# 非因子MVC网格三值运算符失败

C# 非因子MVC网格三值运算符失败,c#,asp.net-core-mvc,webgrid,nonfactors-mvc-grid,C#,Asp.net Core Mvc,Webgrid,Nonfactors Mvc Grid,我使用great取得了相当大的成功,但我发现了一个奇怪的问题: @(Html .Grid(items) .Build(columns => { columns.Add(model => model.Type).Formatted("{0}" == "folder" ? "<span class=\"glyphicon glyphicon-folder-open\"></span>" : "<span class=\

我使用great取得了相当大的成功,但我发现了一个奇怪的问题:

@(Html
    .Grid(items)
    .Build(columns =>
    {
        columns.Add(model => model.Type).Formatted("{0}" == "folder" ? "<span class=\"glyphicon glyphicon-folder-open\"></span>" : "<span class=\"glyphicon glyphicon-file\"></span>").Encoded(false);
        columns.Add(model => model.Id).Titled("Id");
        columns.Add(model => model.Name).Titled("Name");
        columns.Add(model => model.Size).Titled("Size");
    })
    .Empty("No data found")
    .Sortable()
)
@(Html)
.表格(项目)
.Build(列=>
{
columns.Add(model=>model.Type).Formatted(“{0}”==“folder”?:”).Encoded(false);
columns.Add(model=>model.Id).标题为(“Id”);
columns.Add(model=>model.Name)。标题为(“Name”);
columns.Add(model=>model.Size)。标题为(“Size”);
})
.Empty(“未找到数据”)
.Sortable()
)
在这里,如果行的属性
Type
等于
folder
,则其应在该列中显示文件夹图标。然而,我发现第二个选项总是用于
格式化的

因此,如果我切换该三元运算符的选项,则始终显示文件夹图标,其中当前始终显示文件图标


有人知道为什么会发生这种情况吗?如果有办法克服这种情况的话?

我最终只是这样做了

@(Html
    .Grid(items)
    .Build(columns =>
    {
        columns.Add(model => model.Type).Formatted("<span class=\"glyphicon glyphicon-{0}-open\"></span>").Encoded(false);
        columns.Add(model => model.Type).Titled("Type").Css("hidden");
        columns.Add(model => model.Id).Titled("Id");
        columns.Add(model => model.Name).Titled("Name");
        columns.Add(model => model.ModifiedDate).Titled("Modified");
        columns.Add(model => model.longSize).RenderedAs(model => model.Size).Titled("Size");
        // columns.Add(model => model.mbSize).Titled("Size (MB)");
    })
    .Empty("No data found")
    .Sortable()
    .RowCss(model => "rowStyle")
)
@(Html)
.表格(项目)
.Build(列=>
{
columns.Add(model=>model.Type).Formatted(“”).Encoded(false);
columns.Add(model=>model.Type).Titled(“Type”).Css(“hidden”);
columns.Add(model=>model.Id).标题为(“Id”);
columns.Add(model=>model.Name)。标题为(“Name”);
columns.Add(model=>model.ModifiedDate);
columns.Add(model=>model.longSize).RenderedAs(model=>model.Size).title(“Size”);
//columns.Add(model=>model.mbSize).title为(“Size(MB)”;
})
.Empty(“未找到数据”)
.Sortable()
.RowCss(模型=>“rowStyle”)
)
那么这条线呢

columns.Add(model => model.Type).Formatted("<span class=\"glyphicon glyphicon-{0}-open\"></span>").Encoded(false);
columns.Add(model=>model.Type).Formatted(“”).Encoded(false);
如果是文件夹,则显示文件夹图标;如果是文件,则不显示任何内容(因为
glyphicon file open
不是有效的图标类)

不是最好的解决方案,因为现在没有用于文件的图标,但它已经足够好了