我正在制作一个MVC5网站,正如您所知道的那样。现在我刚刚使用具有BirthDate字段的Crete模板创建了一个View。 Andit没有在IE中显示,并且在Chrome中显示可怕的文本框中有很多gliph,您可以在下面的图像中进行比较。
发生了什么,我怎样才能让IE显示日期选择器就像Chrome一样简单,以及如何清理它。我认为那些杠杆是无用的和令人困惑的。
以下是我在模型中定义该属性的方法
[Display(Name = "Fecha de nacimiento")]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime BirthDate { get; set; }
并在视图中
<div class="form-group">
@Html.LabelFor(model => model.BirthDate, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BirthDate)
@Html.ValidationMessageFor(model => model.BirthDate)
</div>
</div>
答案 0 :(得分:4)
如果您不喜欢内置的datepicker(由浏览器呈现,因为它是输入类型=“日期”),那么有很多第三方插件可用,例如jQuery UI。< / p>
您可能需要更改的一件事是使用EditorFor
,而不是使用TextBoxFor
,因此浏览器只会将其视为普通文本框。下面是使用jQuery UI的示例:
@Html.TextBoxFor(m => m.BirthDate)
<script>
$(function() {
$('#BirthDate').datepicker();
});
答案 1 :(得分:2)
感谢@Dissmissile我用bootstrap datepicker搞清楚但在我看来有点不同
@Html.TextBoxFor(model => model.Date, new { @class = "datepicker" })
然后我添加了下一个js代码来配置格式和行为
$(document).ready(function () {
$(".datepicker").datepicker({
format: "yyyy/mm/dd",
autoclose: true
});
$(".datepicker").datepicker('setValue', new Date());
});