2014-10-11 81 views
1

我想在asp.net MVC 5中通过设置模型类来设置日期,但没有得到想要的结果。请查看下面的日期:如何在asp.net中设置日期格式mvc 5

10/10/2010 12:00:00 AM

我要改变按以下格式在上述日期: -

OCT-10-2014

请查看下面

[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> 

请更正,如果亚姆失踪amything在我的代码,感谢

回答

4

首先应用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> 
+0

谢谢为了好的解释:) – user3004110 2014-10-11 05:22:06