我的问题与 Getting date time always null back to controller in MVC3
中的问题非常相似但是,即使我已经指定了DataAnnotations,并且还在datepicker中指定了格式,当我将表单提交给控制器时,我总是将值设为 “null” 仅在我的日期列中,并且根本没有保存到数据库中。还有其他我不知道的东西吗? jquery-1.8.2.js文件是否必须在该帖子中给出?... 有人能帮助我吗?...
我还将调试器附加到Chrome,并检查了网络标签。点击提交时,日期正在从UI 传递,但我不知道在它到达控制器之前它会丢失在哪里?...
更新
这是在我的模型中:
[Display(Name = "Checkout Date")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? CheckoutDate { get; set; }
这是我的日期选择器:
<script>
$(document).ready(function () {
$("#CheckoutDate").datepicker({
dateFormat: "dd/mm/yy"
});
});
</script>
我的控制器是一个提交动作,将模型作为参数并返回一个JsonResult ......
答案 0 :(得分:0)
到目前为止,我已尝试过您的代码,并且我正在控制器端正确地以印度格式获取日期时间。我已按照以下方式实施意见......
@using (Html.BeginForm("ActionName", "ControllerName"))
{
<div>
@Html.TextBoxFor(m => m.CheckoutDate)
</div>
<div>
<input type="submit" class="btn btn-primary" value="submit" />
</div>
}
按照上面的说法,我希望你能在控制器端以正确的方式获得日期时间
在控制器方面,我希望你有以下
[HttpPost]
public ActionResult Index(test model)
{
DateTime ? dtTime = model.CheckoutDate;
return View();
}