【问题标题】:How do I handle a null data condition in DevExtreme DataGrid template?如何处理 DevExtreme DataGrid 模板中的空数据条件?
【发布时间】:2021-04-22 06:15:39
【问题描述】:

我有以下类定义:

public class SubType
{
    [Key] 
    public Guid SubTypeId { get; set; }
    public string SubTypeName { get; set; }
}
public class Item
{
    [Key] 
    public Guid ItemId { get; set; }
    public string Name { get; set; }
    public string Variety { get; set; }
    public SubType ItemSubType { get; set;}
}

这是我的 DevExtreme DataGrid 定义:

@(Html.DevExtreme().DataGrid<Item>()
    .DataSource(Model)
    .Columns(columns => {
        columns.AddFor(m => m.Name);
        columns.AddFor(m => m.Variety);
    })
    .MasterDetail(md => {
        md.Enabled(true);
        md.Template(@<text>
            <div class="master-detail-caption">SubType: <%- data.ItemSubType.SubTypeName%> </div>
        </text>);
    })

当 data.ItemSubType 为 NULL 时,出现以下错误:

VM28:3 未捕获的类型错误:无法读取属性“SubTypeName”的 空值 在评估(评估在(dx.aspnet.mvc.js:75),:3:145) 在 Object.render (dx.aspnet.mvc.js:85) 在 t.n._renderCore (dx.all.js:80) 在 t.render (dx.all.js:15) 在 t._renderDelayedTemplatesCore (dx.all.js:42) 在 t.renderDelayedTemplates (dx.all.js:42) 在 t.renderDelayedTemplates (dx.all.js:107) 在 t.renderDelayedTemplates (dx.all.js:10) 在 t.renderDelayedTemplates (dx.all.js:112) 在 t.renderDelayedTemplates (dx.all.js:10)

当 Data.ItemSubType 不为 null 时,SubTypeName 显示无误。

ItemSubType 为空的情况如何处理? 有没有办法在默认字符串/值为空时有条件地显示它?

【问题讨论】:

    标签: asp.net-core razor devextreme


    【解决方案1】:

    使用条件运算符a ? b : c

    <%- data.ItemSubType != null? data.ItemSubType.SubTypeName : "NoSubType"%>
    

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      相关资源
      最近更新 更多