2014-10-11 67 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