我正在使用JQueryUI Datepicker,这是我在视图中使用的代码
@model myprojectName.WebSite.DataModel.AvailableDate
<script>
$(function () {
$("#datepicker").datepicker();
});
</script>
<h3 class="headerColorWhite">Book a session with Mike</h3>
<p class="mainText">Select a date that you wish to train with Mike</p>
@using (Html.BeginForm())
{
<div class="editor-field left" id="datepicker">
@Html.HiddenFor(model => model.DateAvailable, new {@class = "datepicker"})
@Html.ValidationMessageFor(model => model.DateAvailable)
</div>
<div class="col-md-10 left">
<input type="submit" value="Search Available Slots" class="btn btn-default left" />
</div>
}
点击提交\搜索可用插槽按钮时,似乎没有将我选择的日期发送回模型。
这是将日期传递给
的模型public partial class AvailableDate
{
private DateTime? _DateAvailable;
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yyyy}")]
public System.DateTime DateAvailable
{
get { return _DateAvailable ?? DateTime.Today; }
set { _DateAvailable = value; }
}
}
您能否告诉我出错的地方以及我需要做些什么才能解决这个问题。
---------------编辑以显示获取和发布方法---------------
// GET: Bookings
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(AvailableDate availableDate)
{
return View();
}
答案 0 :(得分:2)
目前,隐藏字段DateAvailable
将始终设置为null。当您从数据选择器中单击日期时,它当前不会更新隐藏字段。
所以,而不是
$(function () {
$("#datepicker").datepicker();
});
尝试:
$(function() {
$("#datepicker").datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function (dateText, e) {
$("#DateAvailable").val($(this).val());
}
});
});
这将为隐藏字段分配值。另外,正如我们的转换中所讨论的那样,日期需要格式化,如上面dateFormat: 'dd-mm-yy'
所定义。
答案 1 :(得分:1)