2017-07-28 24 views
-1

時刻をフォーマットしようとしています。私はHH:mm形式で表示したい。私はDateTimeオブジェクトのリストを含んでいる辞書を私のビューに渡しています。これは次の形式です:時刻が正しく表示されません。

var mapMovies = new Dictionary<string, List<DateTime>>(); 

かなり簡単です。私の見解でこれを行う:

foreach(var time in movie.Value) 
{ 
    @Html.DisplayFor(modelItem => time.ToString("{0:HH:mm}")) 
} 

私がよく知っているのは、"Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions."の例外です。 ToString( "{0:HH:mm}")を削除すると、{0:dd/MM/yyyy HH:mm} という形式で正しく表示されません。それは

[DataType(DataType.Time)] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")] 
public DateTime SessionTime { get; set; } 

私がモデルに表示する方法を定義した場合、なぜこれが起こっているのですか?

+1

ブラケットを取り外しコントローラで時間をフォーマットすることでした。 – Gusman

+1

'time.ToString(" HH:mm ")'についてはどうですか? 'String.Format'を使用している場合に使用される修飾子' {0} 'です。 –

+0

@Gusman非常に同じエラー – learner

答えて

0

採用溶液を

mapMovies[s.Movie.MovieName].Add(s.SessionTime.ToString("HH:mm")); 
関連する問題