将日期值从Ajax调用传递给MVC

Nan*_*anu 33 c# asp.net-mvc jquery asp.net-mvc-3

我的Ajax电话

 $('#QuickReserve').click(function () {
        var now = new Date();
        alert(now);

        var _data = {
            'ComputerName': _computerName,
            '_mStart': now.toTimeString(),
            '_mEnd': now.toDateString()
        };
        $.ajax({
            cache: false,
//            contentType: "application/json; charset=utf-8",
            type: "POST",
            async: false,
            url: "/Home/SetMeeting",
            dataType: "json",
            data: _data,
            success: "",
            error: function (xhr) {
                alert("Error");
                alert(xhr.responseText);
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

我的C#代码

 public ActionResult SetMeeting(string ComputerName, DateTime? _mStart, DateTime? _mEnd)
        {
           }
Run Code Online (Sandbox Code Playgroud)

代码结束时未收到DateTime值.....它们只显示为空白.在jquery当我试图

'_mStart': now.toTimeString(),
            '_mEnd': now.toDateString()
Run Code Online (Sandbox Code Playgroud)

到datetring确实返回今天的日期,但是,我也希望时间也是日期时间的一部分.

rno*_*nko 74

不要使用数据格式做任何技巧.只需使用标准函数date.toISOString(),它以ISO8601格式返回.

来自javascript

$.post('/example/do', { date: date.toISOString() }, function (result) {
    console.log(result);
});
Run Code Online (Sandbox Code Playgroud)

来自c#

[HttpPost]
public JsonResult Do(DateTime date)
{
     return Json(date.ToString());
}
Run Code Online (Sandbox Code Playgroud)


Nan*_*anu 12

将json日期转换为此格式"mm/dd/yyyy HH:MM:ss"是整个​​技巧dateFormat是jsondate format.js文件中的函数,可在http://blog.stevenlevithan.com/archives/date-time找到 -格式

var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");
Run Code Online (Sandbox Code Playgroud)