我试图在视图中显示以下内容但是出现了问题:
<td>
@item.CreatedByDt.ToString("MM/dd/yyyy")
</td>
关于如何处理视图中可为空的Date字段的任何想法。我顺便使用Razor。
我收到以下错误:
方法'ToString'没有重载需要1个参数
答案 0 :(得分:28)
如果您不知道它是否为空......
@string.Format("{0:MM/dd/yyyy}", item.CreatedByDt)
答案 1 :(得分:9)
@(item.CreatedByDt.HasValue ? item.CreatedByDt.Value.ToString("MM/dd/yyyy") : "--/--/----")
您可以将日期为空时的显示字符串替换为您想要的内容。
答案 2 :(得分:1)
@item.CreatedByDt.Value.ToString("MM/dd/yyyy")
答案 3 :(得分:0)
如果DateTime?
为空值,则会给出错误。
此解决方案不会产生错误:
@functions{
string FormatNullableDate(DateTime? value) => value.HasValue ? value.Value.ToString("MM/dd/yyyy") : "-";
}
<td>
@FormatNullableDateTime(item.CreatedByDt)
</td>
答案 4 :(得分:-2)
@item.PostDatePublished.Value.ToString
需要那里的值