Asp.net mvc 3 在MVC3中,同一类型是否可以有多个EditorTemplate?

Asp.net mvc 3 在MVC3中,同一类型是否可以有多个EditorTemplate?,asp.net-mvc-3,Asp.net Mvc 3,我的MVC模型类中有一些DateTime字段——一些需要日期作为输入,另一些需要时间作为输入——但两者都是DateTime属性 是否有可能为DateTime创建一个EditorTemplate,它以某种方式生成一个日期选择器,用于指定为日期的属性,并为指定为时间的属性创建一个时间选择器?是的,这里有一种方法: 在~/Views/Shared/EditorTemplates(或~/Views/Shared/DisplayTemplates)中,创建使用您喜爱的视图引擎的模板文件(示例使用Razor

我的MVC模型类中有一些DateTime字段——一些需要日期作为输入,另一些需要时间作为输入——但两者都是DateTime属性

是否有可能为DateTime创建一个EditorTemplate,它以某种方式生成一个日期选择器,用于指定为日期的属性,并为指定为时间的属性创建一个时间选择器?

是的,这里有一种方法:

~/Views/Shared/EditorTemplates
(或
~/Views/Shared/DisplayTemplates
)中,创建使用您喜爱的视图引擎的模板文件(示例使用Razor/C#)

文件Date.cshtml

replace this with a real date picker
文件Time.cshtml

replace this with a real time picker
然后,在您的模型中:

[UIHint(“日期”)]
公共DateTime DateProperty{get;set;}
[UIHint(“时间”)]
公共DateTime时间属性{get;set;}
属性名称必须与模板的文件名匹配,并且
UIHint
位于
System.ComponentModel.DataAnnotations
中,因此如果您还没有相应的using语句/程序集引用,则需要它


或者,使用a表示您的时间-这就是
DateTime
为其
TimeOfDay
属性返回的时间…

谢谢Jon,我会尝试一下。