【发布时间】:2015-07-06 11:17:46
【问题描述】:
我正在尝试 MVC 4 中的显示模板。
我在 Views\Shared\DisplayTemplates\MyDate.cshtml 中创建了我的显示模板
@model System.DateTime
<span>
@Model.ToString("dd / MM / yyyy")
</span>
我尝试在我的视图中使用它:
@Html.DisplayFor(Model => Model.TestDate, "MyDate")
到目前为止一切顺利。现在我想对 UIHint 属性做同样的事情。所以我在我的模型中添加了另一个字段:
[UIHint("MyDate")]
public DateTime Yesterday = DateTime.Now.AddDays(-1);
所以我想我可以像这样简单地将它添加到我的视图中:
@Html.DisplayFor(Model => Model.Yesterday)
但是哦,不,我的显示模板 MyDate.cshtml 中的标记无处可见...我做错了什么??
【问题讨论】:
-
难道你使用
field而不是property?试试public DateTime Yesterday { get { return DateTime.Now.AddDays(-1);}} -
谢谢!你说得对,它的作用是
property。 -
我不知道为什么,只要是
field就可以了,只要我做@Html.DisplayFor(Model => Model.Yesterday, "MyDate")
标签: c# asp.net asp.net-mvc razor