无法通过jquery post方法将日期值传递给控制器​​方法。

时间:2016-05-19 18:30:12

标签: jquery json asp.net-mvc-4 date jquery-post

我有一个像这样的json对象:

var data = {}; 
data = 
 { "First" : _this.getFirstElement.val(), 
    "Second": _this.getSecondElement.val(),
    "DateProperty" : _this.getDatePropertyElement.val()
 }; 

使用jquery post传递给控制器​​方法:

$.post(url,data,function(){somefunction}); 

我的控制器方法是这样的:

[HttpPost]
public void ControllerMethod(TestObject data)
{
    // data.DateProperty is coming as null
   // logic 
}

我错过了什么?

在浏览器的网络部分中查看时传递的FormData将数据指定为:

      FormData : 
      First : <some data>
      Second : <some data>
      DateProperty : some long date string 

后来我改变了json数据发送日期为       JSON.stringify()

现在在formData中,值为

    First : <some data>
    Second : <some data>
    DateProperty : "05/06/16"

但仍然在Controller方法中,dateProperty为null?

1 个答案:

答案 0 :(得分:0)

使用dateFormat格式化javascript中的日期值解决了这个问题。

这是我格式化日期值的方式:

var data = {}; 
data = {
    "First" : _this.getFirstElement.val(), 
    "Second": _this.getSecondElement.val(),
    "DateProperty" : dateFormat(_this.getDatePropertyElement.val(), "mm/dd/yyyy HH:MM:ss"),
};

使用此日期值以控制器方法接收。

参考文献: http://blog.stevenlevithan.com/archives/date-time-format