我的MVC模型类中有一些DateTime字段 - 一些需要Date作为输入,另一些需要Time作为输入 - 但两者都是DateTime属性。
是否有可能为DateTime创建一个EditorTemplate,以某种方式为属于日期的属性生成日期选择器,并为可能属于时间的属性生成时间选择器?
答案 0 :(得分:9)
是的,这是一种方式:
在~/Views/Shared/EditorTemplates
(或~/Views/Shared/DisplayTemplates
中,创建使用您最喜欢的视图引擎的模板文件(示例使用Razor / C#)
file Date.cshtml
replace this with a real date picker
文件Time.cshtml
replace this with a real time picker
然后,在你的模型中:
[UIHint("Date")]
public DateTime DateProperty { get; set; }
[UIHint("Time")]
public DateTime TimeProperty { get; set; }
UIHint
属性名称必须与模板的文件名相匹配,UIHint
位于System.ComponentModel.DataAnnotations
,因此如果您不知道,则需要使用相应的使用语句/程序集参考已经拥有它了。
或者,使用TimeSpan
代表您的时间 - 这是DateTime
属性TimeOfDay
返回的内容...