1

我的模型中有一个属性:

    [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 可能会被忽略?

4

2 回答 2

1

出于好奇,您是否在服务器上安装了最新的 MVC 4?因为如果我没记错的话,这个功能只在 MVC 4 中可用。

您可能还想试一试 Mvc Html5 Toolkit

于 2013-06-06T13:33:27.067 回答
0

再次安装 MVC4,一切都按预期开始工作。

于 2013-06-07T08:23:34.553 回答