2011-02-15 43 views
0

我有以下编辑模板如何选择是否使用MVC 3模板编辑

@model DateTime? 
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" }) 

这个原因,每个日期时间?显示为“没有小时”的ToShortDateString()和类datePicker。

但是,现在我有一些日期时间的情况?我需要一个小时。

问题是,如何禁用个别情况下的编辑器模板?或者有这种情况的解决方法。

感谢

回答

4

在你的模型,你可以使用UIHint属性说要使用的编辑器模板。

所以,你可以创建一个新的editorfor并调用它像DateTimeWithHour,然后在你的模型将是这样的(或一些更好的名字!):

[UIHint("DateTimeWithHour")] 
public DateTime SomeDateTime { get; set; } 

如果不指定UIHint它将默认为你已经创建的日期时间编辑器。

1

您可以使用UIHintAttribute以逐个案例的方式应用不同的模板。 我想你也可以在ViewBag中传递一些额外的数据(即格式选项)。