我有一个模型,其中包含DateTime
字段TimeRecorded
。我还为DateTime
定义了一个扩展方法,它将它与DateTime.Now
进行了比较,并用非正式英语描述了它“多久以前”(与StackOverflow主页上的时间戳不同)。
在我看来,我尝试了以下方法:
@String.Format("{0} - {1}", Html.DisplayFor(m => m.Value),
Html.DisplayFor(m => m.TimeRecorded.ToRelativeString()))
我收到了一个InvalidOperationException
,告诉我我只能使用DisplayFor
“字段访问权限,属性访问权限,单维数组索引或单参数自定义索引器表达式。”
现在,我知道我可以轻松地为此创建一个显示模板;但是,我宁愿避免为了格式化单个值而拥有一个完整的单独文件。在我目前的观点中是否存在“传统”的做法?
由于
答案 0 :(得分:1)
您可以创建代理属性:
RelativeStringTimeRecord
{
get{return TimeRecorded.ToRelativeString()}
}
并使用Html.DisplayFor(m => m.RelativeStringTimeRecord())
答案 1 :(得分:0)
只是做:
@String.Format("{0} - {1}", Html.DisplayFor(m => m.Value), Model.TimeRecorded.ToRelativeString())
事实上......我不知道Model.Value
是什么,但你可以这样做:
@string.Format("{0} - {1}", Model.Value, Model.TimeRecorded.ToRelativeString())