You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor MudTable表格中空日期(01/01/0001)的处理咨询

解决Blazor MudTd中01/01/0001日期转为空字符串的问题

你的代码没效果的核心原因是:你判断的是null,但源数据里的“空日期”实际是01/01/0001(也就是DateTime.MinValue),不是null,所以判断逻辑完全没命中。

根据row.EndDate的类型,给你两种解决方案:

情况1:row.EndDate是DateTime类型

直接对比DateTime.MinValue,用三元表达式输出空字符串或格式化后的日期,注意要用@()包裹整个表达式确保Blazor正确解析:

<MudTd DataLabel="EndDate" Style="width: 160px">
    @(row.EndDate == DateTime.MinValue ? "" : row.EndDate.ToString("dd/MM/yyyy"))
</MudTd>

情况2:row.EndDate是字符串类型

先尝试把字符串转成DateTime,再判断是否为最小日期:

<MudTd DataLabel="EndDate" Style="width: 160px">
    @{
        DateTime.TryParse(row.EndDate, out var endDate);
    }
    @(endDate == DateTime.MinValue ? "" : endDate.ToString("dd/MM/yyyy"))
</MudTd>

如果你的字符串日期格式不是默认可解析的,还可以指定格式解析:

<MudTd DataLabel="EndDate" Style="width: 160px">
    @{
        DateTime.TryParseExact(row.EndDate, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out var endDate);
    }
    @(endDate == DateTime.MinValue ? "" : endDate.ToString("dd/MM/yyyy"))
</MudTd>

内容的提问来源于stack exchange,提问作者Buda56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:17:39