我的模型中有一个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/