是否可以覆盖编辑器模板?
我的模型中有DateTime字段,用于到达/离开日期 - 这些字段使用以下EditorTemplate呈现:
@model Nullable<System.DateTime>
@if ( Model.HasValue ) {
@Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy}" , Model.Value ) , new { @class = "datepicker span2" } )
}
else {
@Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy}" , DateTime.Now ) , new { @class = "datepicker span2" } )
}
...将格式化日期时间字段,例如:01/08/2012
但是,我还想在另一个字段中显示预订的日期和时间,例如:
22/07/2012 08:23
我的模特是:
public DateTime Arrival { get; set; }
public DateTime Departure { get; set; }
public DateTime TimeBooked { get; set; }
我希望TimeBooked能够显示时间 - 但编辑模板显然只显示日期。
这可以被覆盖吗?或者还有另一种方法吗?
谢谢,
标记
答案 0 :(得分:11)
您可以添加另一个显示时间的命名编辑器,并使用EditorFor的重载,它接受模板名称作为第二个参数,如:
EditorFor(m =&gt; m.TimeBooked,“DateWithTimeTemplate”)
答案 1 :(得分:4)
您可以使用UIHintAttribute属性。
您可以使用此属性修饰TimeBooked
属性,以便MVC知道要使用哪个编辑器。
答案 2 :(得分:0)