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

2020/12/24 15:11 · jquery ·  · 0评论

我的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);
            }
        });
    });

我的C#代码

 public ActionResult SetMeeting(string ComputerName, DateTime? _mStart, DateTime? _mEnd)
        {
           }

DateTime值在代码末尾没有收到.....它们只是显示为空白。在jQuery中,当我尝试

'_mStart': now.toTimeString(),
            '_mEnd': now.toDateString()

到datestring确实返回今天的日期,但是,我也想将时间作为日期时间的一部分。

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

从javascript

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

从C#

[HttpPost]
public JsonResult Do(DateTime date)
{
     return Json(date.ToString());
}

将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");

您不仅可以传递一个DateTime,还可以将日期部分与服务器上的时间部分分开吗?

你不能只传递'_mDate'吗?

public ActionResult SetMeeting(string ComputerName, DateTime? _mDate)
{
   // Then in here use _mDate.Date, and _mDate.Time    
}

为什么不将日期(和时间)从Unix Epoch转换为时间戳,然后使用js显示日期?

C#

public double FromUnixEpoch(DateTime value)
{
    DateTime unixEpoch = new DateTime(1970, 1, 1);
    double timeStamp = (value - unixEpoch).Ticks / 1000;
    return timeStamp;
}

js

var myDate = new Date( object.myEpochDate *1000);
myDate.toUTCString().toLocaleString();

使用这种方法,您可以将epoch作为json中的字符串传递,然后像处理js中的日期一样处理它。

它与格式化有关。您绝对可以使用库或插件,我选择使其保持非常简单:

function getFormattedDate(date) {
  var curr_date = date.getDate();
  var curr_month = date.getMonth() + 1; //Months are zero based
  var curr_year = date.getFullYear();
  return curr_date + "-" + curr_month + "-" + curr_year;          
}

吻!

本文地址:http://jquery.askforanswer.com/jiangriqizhicongajaxdiaoyongchuandidaomvc.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!