我有一个简单的账单创建表格。我在这个表单上有两个日期字段。
[DataType(DataType.Date)]
public DateTime FromDate { get; set; }
[DataType(DataType.Date)]
public DateTime ToDate { get; set; }
在视图中我有两个字段(datepickers):
<div class="form-group">
<label class="col-sm-2 control-label">From date:</label>
<div class="col-sm-6">
@Html.TextBoxFor(m => m.FromDate, new { @class = "form-control date-pickerFrom", placeholder = "Enter Drop-off date here..." })
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">To date:</label>
<div class="col-sm-6">
@Html.TextBoxFor(m => m.ToDate, new { @class = "form-control date-pickerTo", placeholder = "Enter Drop-off date here..." })
</div>
</div>
在视图的最后,我有两个日期选择器的JavaScript函数:
$(function () {
$('.date-pickerFrom').datepicker({
dateFormat: "dd/mm/yy"
});
$('.date-pickerTo').datepicker({
dateFormat: "dd/mm/yy"
});
});
当我确认我的表单时,我只在“从日期”字段的控制器中获得正确的日期值。 “迄今为止”的值始终为01/01/0001。知道我做错了吗?
谢谢你,祝你有美好的一天!
将您的视图更改为:
<div class="form-group">
<label class="col-sm-2 control-label">From date:</label>
<div class="col-sm-6">
@Html.EditorFor(m => m.FromDate, new { htmlAttributes = new { @id = "datepickerFrom", @class = "form-control", @placeholder = "Enter Drop-off date here..."}})
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">To date:</label>
<div class="col-sm-6">
@Html.EditorFor(m => m.ToDate, new { htmlAttributes = new { @id = "datepickerTo", @class = "form-control", @placeholder = "Enter Drop-off date here..."}})
</div>
</div>
并在您的JavaScript中调用它们:
$(document).ready(function () {
$('#datepickerFrom').datepicker({
dateFormat: "dd/mm/yy"
});
$('#datepickerTo').datepicker({
dateFormat: "dd/mm/yy"
});
});
为每个日期选择器分配一个id
,它应该适合你。