我正在尝试通过在模型类中进行设置来在asp.net MVC 5中格式化日期,但未获得所需的结果。请查看以下日期:
2010/10/10上午12:00:00
我想以以下格式更改上述日期:-
2014年10月10日
请在下面查看我的模型课
[DisplayFormat(DataFormatString = "{0:MMM-dd-yyyy}", ApplyFormatInEditMode = true)]
[Required(ErrorMessage = "Date is required")]
public DateTime? DateOfBirth { get; set; }
上面的代码未按要求的格式格式化。还要查看下面的代码,就像下面的表格一样。
foreach (var m in Model)
{
<tr style="height: 22px; border-bottom: 1px solid silver">
<td style="width: 150px">@m.StudentId</td>
<td style="width: 150px">@m.FirstName</td>
<td style="width: 150px">@m.LastName</td>
<td style="width: 150px">@m.DateOfBirth</td>
</tr>
所以我也尝试了下面的代码仍然无法正常工作。
<td style="width: 150px">@m.DateOfBirth.ToString("MMM/dd/yyyy")</td>
如果我的代码中缺少iamthing,请更正,谢谢
首先,仅当您使用或助手时,才能应用DisplayFormat
属性。所以你可以使用[DisplayFormat(DataFormatString = "{0:MMM-dd-yyyy}"
@Html.DisplayFor()
@Html.Display()
<td style="width: 150px">@Html.DisplayFor(model => m.DateOfBirth)</td>
请注意,您可能还想使用(NullDisplayText="SomeValue"
如果适用)
其次,它DateOfBirth
是可为空的,因此如果您不使用帮助器,则DateOfBirth.ToString("MMM/dd/yyyy")
应该
<td style="width: 150px">@(Model.DateOfBirth.HasValue ? Model.DateOfBirth.Value.ToString("MMM-dd-yyyy") : "SomeValue")</td>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句