我正在尝试格式化时间。我想以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; }
如果我已经定义了我想要在模型中显示的方式,为什么会发生这种情况?
答案 0 :(得分:0)
采用的解决方案是在控制器中格式化时间
mapMovies[s.Movie.MovieName].Add(s.SessionTime.ToString("HH:mm"));