显示模板不显示UIHint属性

时间:2015-07-06 11:17:47

标签: c# asp.net asp.net-mvc razor

我在MVC 4中尝试显示模板。

我在Views \ Shared \ DisplayTemplates \ MyDate.cshtml中创建我的displaytemplate

@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)

但是哦,不,我的displaytemplate MyDate.cshtml中的标记无处可见......我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的问题是您使用的是property,而不是public DateTime Yesterday { get { return DateTime.Now.AddDays(-1); } }

你应该做什么:

@property(nonatomic, assign) CGSize screen;