MVC在开发中生成一个带有“时间”类型的文本框,但在部署时会恢复为“文本”

时间:2013-06-06 12:51:55

标签: asp.net-mvc asp.net-mvc-4

我的模型中有一个属性:

    [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?

2 个答案:

答案 0 :(得分:1)

出于好奇,您是否在服务器上安装了最新的MVC 4?由于此功能仅在MVC 4中可用,如果我没有误会。

您可能还希望在Mvc Html5 Toolkit

进行拍摄

答案 1 :(得分:0)

再次安装MVC4并且所有操作都按预期开始工作。