我的模型中有一个属性:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
[DataType(DataType.Time)]
public DateTime? CompanyFromTime { set; get; }
注意DataType。当我在IIS中本地运行并在chrome中查看它时,我看到HTML5时间编辑器是正确的,这是发出的html:
<input class="text-box single-line" id="CompanyFromTime" name="CompanyFromTime" type="time" value="">
当我将此解决方案部署到实时并在chrome中查看时,我没有得到html编辑器,但我得到一个纯文本框,jquery似乎试图验证为日期时间:
<input class="text-box single-line input-validation-error" data-val="true" data-val-date="The field CompanyToTime must be a date." id="CompanyToTime" name="CompanyToTime" type="text" value="00:00">
输出明显不同!这几乎就像忽略了DataType一样,默认验证是将其视为DateTime。
有谁知道为什么可能会忽略DataType?
答案 0 :(得分:1)
出于好奇,您是否在服务器上安装了最新的MVC 4?由于此功能仅在MVC 4中可用,如果我没有误会。
您可能还希望在Mvc Html5 Toolkit
进行拍摄答案 1 :(得分:0)
再次安装MVC4并且所有操作都按预期开始工作。