所以我刚刚遇到了这个问题。
我正在使用 JQuery UI 来拥有一个“映射”到只读文本框的日期选择器:
$(document).ready(function ()
{
var dateFormatStr = 'yy/mm/dd';
$('#DateOfBirth').datepicker({
dateFormat: dateFormatStr,
minDate: '-100Y',
maxDate: '-18Y',
changeMonth: true,
changeYear: true
});
$('#DateOfBirth').attr('readonly', 'readonly');
});
在视图中,这就是我绑定它的方法:
@Html.LabelFor(m => m.DateOfBirth)
@Html.EditorFor(m => m.DateOfBirth, new { @readonly = "readonly" })
这在 IE 中运行良好。
然而,在 Chrome 中,并没有那么多。它给出了自己对日期选择器控件的定义,您可以看到它背后的 jquery 控件!当您尝试设置该值时,它无法这样做。
chrome表现得很奇怪有什么原因吗?我猜这是因为 EditorFor 正在绑定 DateOfBirth 类型的 DateTime 属性。
有没有办法阻止这种行为?我相信我在使用 TextBoxFor 时遇到了问题,不得不使用 EditorFor。
非常感谢