2015-05-06 160 views
0
[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0: dd-mm-yyyy}")] 
public DateTime DateProcessed { get; set; } 

這是我Data Model和它給是01/01/2015MVC日期格式短

但我需要這種格式January/01/2015結果。我試過使用ToShortDateString()。但我有

錯誤模板只能用於字段訪問,屬性訪問,單維數組索引或單參數自定義索引器表達式。

儘可能多。我希望它在模型中而不是使用視圖。但如果它不能幫助。

什麼工作都很好。

+0

重複? http://stackoverflow.com/q/16697872/993547 –

+2

'MMMM/dd/yyyy'? –

+1

'DataFormatString =「{0:MMMM/dd/yy}」' –

回答

4

試試這個;

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0: MMMM/dd/yyyy}")] 
public DateTime DateProcessed { get; set; } 

參考:here

但是,如果您堅持使用單一的日期格式,您還可以在不觸摸模型的情況下「破解」視圖。

類似這樣;

<div> 
    <dl class="dl-horizontal"> 
    <dt>@Html.DisplayNameFor(model => model.DateProcessed)</dt> 
    <dd>@Html.DisplayFor(model => model.DateProcessed)</dd> 
    </dl> 
</div> 

成爲;

<div> 
    <dl class="dl-horizontal"> 
    <dt>@Html.DisplayNameFor(model => model.DateProcessed)</dt> 
    <dd> 
     @{string formattedDate = Model.DateProcessed.ToString("MMMM/dd/yyyy");} 
     @Html.DisplayFor(model => formattedDate) 
    </dd> 
    </dl> 
</div> 

這將以正確的格式顯示日期。

+0

哇,你更新了你的答案。我等了10分鐘,所以我可以接受答案。所以我閉上了眼睛,然後是沃拉。 15小時後醒來。 – Aizen

0

試試這個:

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0: MMMM/dd/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime DateProcessed { get; set; } 

如果你沒有在你的模型類使用的日期格式,然後下面嘗試:

首先設置您的日期屬性如下

public Nullable<System.DateTime> DateProcessed { get; set; } 

那麼你的查看這樣:

@Html.TextBoxFor(m => m.DateProcessed,"{0: MMMM/dd/yyyy}", placeholder = "MMMM/dd/yyyy" })