【发布时间】:2020-07-22 06:06:12
【问题描述】:
我使用 datepicker 实现了一个日历,但我无法将当前日期分配给字段以将条目添加到数据库中,也无法分配现有模型中的日期以进行编辑。
型号
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Дата")]
创建动作
ViewBag.date = DateTime.Today;
var model = new Expense();
model.Date = DateTime.Today;
//
return View(model);
在我看来,我有 js:
<script type="text/javascript">
$(function () {
$("input[type='date']")
.datepicker({ dateFormat: 'dd.mm.yy' })
.get(0).setAttribute("type", "text");
$.datepicker.regional['ru'] = {
prevText: 'Пред',
nextText: 'След',
monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
monthNamesShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн',
'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
dayNamesShort: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'],
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
weekHeader: 'Не',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: '',
};
$.datepicker.setDefaults($.datepicker.regional['ru']);
$.validator.addMethod('date',
function (value, element) {
var ok = true;
try {
$.datepicker.parseDate('dd.mm.yy', value);
}
catch (err) {
ok = false;
}
return ok;
});
});
</script>
在布局中我有 js:
<script type="text/javascript">
$(function () {
if (!Modernizr.inputtypes.date) {
$(function () {
$("input[type='date']")
.datepicker({ dateFormat: 'dd.mm.yy' })
.get(0).setAttribute("type", "text");
})
}
});
</script>
还有 html 助手
<div class="form-group">
@Html.LabelFor(model => model.Date, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control"} })
@Html.ValidationMessageFor(model => model.Date, "", new { @class = "text-danger" })
</div>
</div>
当我使用此操作时,dd.mm.yyyy 会在日期字段中出现一毫秒,然后变得清晰。今天没有日期。 对不起我的英语,谢谢你的帮助 更新: 在 explorer 和 firefox 中一切正常,但在 chrome 和 opera 中却不行。我认为这与他们的标准日历有关。
【问题讨论】:
标签: asp.net asp.net-mvc model-view-controller datepicker