我的模型中有一个Person类,其BornDate属性定义为

[DisplayName("Born Date")]
public DateTime? BornDate { get; set; }


我认为该字段为

<td style="white-space:nowrap">
    <%= Html.LabelFor(model => model.BornDate)%>
    <br />
    <%= Html.TextBoxFor(model => model.BornDate, new { id = "bornDate" })%>
    <%= Html.ValidationMessageFor(model => model.BornDate, "*")%>
</td>


问题是,当我使用BornDate文本框编辑Person实例时,其格式设置为

dd/MM/yyyy hh.mm.ss


而我想将其格式化而没有时间部分(“ dd / MM / yyyy”)。我无法将toString方法与格式字符串一起使用,因为它是可为空的字段。

我能做什么?

最佳答案

您应该能够使用Value。请先检查它是否不为null。

var displayDate = model.BornDate.HasValue ? model.BornDate.Value.ToString("yyyy") : "NoDate";

关于asp.net-mvc - 在强类型 View 中格式化可为空的DateTime字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3684015/

10-09 01:20