0

オブジェクトのリスト (IEnumerable) で DataType 注釈を使用して、テンプレートで DisplayFor を使用すると日付が正しくフォーマットされるようにする方法はありますか?

モデル:

public class CallOverview
{

    [DataType(DataType.Date), DisplayFormat(DataFormatString = @"{0:dddd dd MMMM yyyy}")]
    public IEnumerable<DateTime> Days { get; set; }

}

見る:

@foreach (var day in Model.Days)
{

    <p>@Html.DisplayFor(modelItem => day)</p>

}

出力:

31/07/2012 00:00:00
4

3 に答える 3

1

この動作が見られる理由は、 DataType 属性を個々の値ではなく列挙に適用しているためだと思います。ただし、このようなものは機能するはずです:

モデル:

public class CallOverview
{
    public IEnumerable<DateTimeWrapper> Days { get; set; }

    public class DateTimeWrapper
    {
        [DataType(DataType.Date), DisplayFormat(DataFormatString = @"{0:dddd dd MMMM yyyy}")]
        public DateTime Value { get; set; }
    }
}

見る:

@foreach (var day in Model.Days)
{
    <p>@Html.DisplayFor(m => day.Value)</p>    
}
于 2012-07-05T04:03:35.470 に答える
-2

答えはそれができないということです。

于 2012-08-09T03:27:19.320 に答える