繁体   English   中英

HTML.DisplayFor和属性的方法

[英]Html.DisplayFor and properties' methods

我有一个模型,其中包含DateTime字段TimeRecorded 我还定义了一个扩展方法DateTime ,它比较DateTime.Now并介绍大约是在非正式英语(不同于在StackOverflow的网页时间戳)“多久以前”。

在我看来,我尝试了以下操作:

@String.Format("{0} - {1}", Html.DisplayFor(m => m.Value),
    Html.DisplayFor(m => m.TimeRecorded.ToRelativeString()))

我受到InvalidOperationException欢迎,通知我我只能将DisplayFor与“字段访问,属性访问,一维数组索引或单参数自定义索引器表达式一起使用”。

现在,我知道我可以轻松地为此创建显示模板了; 但是,我宁愿避免仅出于格式化单个值的目的而拥有一个完整的单独文件的膨胀。 以我目前的观点来看,有没有一种“常规”的方式来做到这一点?

谢谢

您可以创建代理属性:

RelativeStringTimeRecord
{
    get{return TimeRecorded.ToRelativeString()}
}

并使用Html.DisplayFor(m => m.RelativeStringTimeRecord())

做就是了:

@String.Format("{0} - {1}", Html.DisplayFor(m => m.Value), Model.TimeRecorded.ToRelativeString())

实际上...我不知道什么是Model.Value ,但是您可以简单地执行以下操作:

@string.Format("{0} - {1}", Model.Value, Model.TimeRecorded.ToRelativeString())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM