Joh*_*ell 2 c# asp.net-mvc razor asp.net-mvc-3
所以我有一段视频的持续时间,我希望在Razor中显示该持续时间.
目前我正在使用
@TimeSpan.FromSeconds(item.Duration).ToString()
Run Code Online (Sandbox Code Playgroud)
但是我正在使用的其余代码使用
@Html.DisplayFor(modelItem => item.Description)
Run Code Online (Sandbox Code Playgroud)
有没有办法让持续时间(目前是一个int)显示一个时间跨度?使用@Html.DisplayFor
语法.item.duration是一个Entity Framework模型,它在数据库中作为int保存.
jim*_*lan 12
约翰,
创建自己的显示模板.为此,请按照下列步骤操作:
模型编辑(添加以下内容):
public TimeSpan MyTimeSpanProperty
{
get
{
return TimeSpan.FromSeconds(Duration);
}
}
Run Code Online (Sandbox Code Playgroud)
TimeSpan.cshtml
@model TimeSpan
@string.Format("{0}:{1}:{2}", Model.Hours, Model.Minutes, Model.Seconds)
Run Code Online (Sandbox Code Playgroud)
在您的视图中调用
@Html.DisplayFor(m => m.MyTimeSpanProperty)
Run Code Online (Sandbox Code Playgroud)
这将显示为3:24:16
等.
这就是它的全部内容(因为它假定你将传入TimeSpan类型的属性,所以如果可能的话,看看你是否可以对你的模型进行那么小的改动!!)