IE无法渲染MVC4 DataType.Date EditorFor

时间:2014-10-15 07:43:48

标签: javascript jquery asp.net-mvc asp.net-mvc-4 internet-explorer

我正在创建一个MVC4网站,现在我刚创建了一个具有HolidayDate字段的View。它没有在IE中显示,并且在Chrome中显示可怕的文本框内有很多字形。我想在IE中这样做,就像Chrome中的节目一样。但我不希望JQuery这样做。

以下是我在模型中定义该属性的方法

 [Required]
 [DataType(DataType.Date)]
 [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
 [DisplayName("Holiday Date")]
 public virtual DateTime HolidayDate { get; set; }   

并在视图中

 <div class="row">
            <div class="col-md-3">
                    @Html.LabelFor(m => m.HolidayDate) 
                    @Html.EditorFor(model => model.HolidayDate)            
                    @Html.ValidationMessageFor(model => model.HolidayDate)  
           </div>
</div>

然后如何让它在IE上运行。请任何人帮忙

1 个答案:

答案 0 :(得分:0)

我看到你的Model属性HolidayDate定义和装饰,它们很好,它会在所有浏览器中生成相同的标记,但是到了日期类型,表单输入元素取决于浏览器对html5表单元素的支持。如果浏览器不支持,那么它的行为将回退到文本类型输入控件。

有关更多跨浏览器支持信息,请访问CAN-i-USE feat=input-datetime

为了在不支持的浏览器中看到这种行为,我们应该使用自定义控件(正如您所知,标准方法之一是使用jQueryUI datepicker显示日期控制)