我的模型中有一个属性:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
[DataType(DataType.Time)]
public DateTime? CompanyFromTime { set; get; }
注意数据类型。当我在 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 可能会被忽略?