始终在mvc4中的datetime字段中获取null

时间:2013-10-21 07:23:27

标签: jquery asp.net-mvc-4 data-annotations jquery-ui-datepicker

我的问题与 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 ......

1 个答案:

答案 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();
    }