【问题标题】:Nonfactors MVC Grid Ternary operator failsNonfactors MVC Grid 三元运算符失败
【发布时间】:2018-10-31 19:58:51
【问题描述】:

我正在使用很棒的 NonFactor MVC Grid 并取得了相当大的成功,但我看到了一个奇怪的问题:

@(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()
)

这里,如果行的属性Type 等于folder,它应该在该列中显示文件夹图标。但是我发现第二个选项总是用于Formatted 列。

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

有谁知道为什么会这样,是否有办法克服这个问题?

【问题讨论】:

    标签: c# asp.net-core-mvc webgrid nonfactors-mvc-grid


    【解决方案1】:

    我最终只是这样做了

    @(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")
    )
    

    所以这条线

    columns.Add(model => model.Type).Formatted("<span class=\"glyphicon glyphicon-{0}-open\"></span>").Encoded(false);
    

    如果是文件夹则显示文件夹图标,如果是文件则不显示(因为glyphicon-file-open 不是有效的图标类)

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

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 2023-04-08
      • 2011-05-23
      • 1970-01-01
      • 2018-10-04
      • 2013-12-04
      • 2011-04-19
      • 2019-11-05
      • 2018-06-29
      相关资源
      最近更新 更多