javascript - ASP.NET MVC - 将 JSON DateTime 传递到 Controller 而不映射到 Controller 参数

标签 javascript asp.net-mvc

我正在使用 jQuery 日历来显示事件,该日历旨在从服务器提取数据。 在初始化时,日历会触发 AJAX 请求以获取事件对象数组(json 编码)。 到目前为止一切都很好。 但是,此请求包含 JSON 编码的日期和时间(至少我的实现是这样)。 代码如下所示:

data: function (start, end, callback) {
        $.post('/planner/GetPlannerEvents', { test: "test", start: JSON.stringify(start), end: JSON.stringify(end) }, function (result) { callback(result); });
    }

GetPlannerEvents Controller 方法的声明如下所示:

public ActionResult GetPlannerEvents(DateTime start, DateTime end)

问题是 asp.net mvc 2 似乎无法自动解析 json 编码的日期时间,因此提示开始和结束值为 null。

我应该使用另一种方法将 JavaScript 日期传递到服务器,以便正确解析它们吗?

谢谢

最佳答案

您不应该使用 stringify 对日期进行 JSON 编码,因为默认模型绑定(bind)器不需要 JSON。试试这个:

$.post('/planner/GetPlannerEvents', { start: start.toUTCString(), 
    end: end.toUTCString() }, function (result) {
    callback(result); 
});

关于javascript - ASP.NET MVC - 将 JSON DateTime 传递到 Controller 而不映射到 Controller 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933245/

相关文章:

javascript - 打印网页时在每个打印页面的底部添加文本页脚

javascript - 如何在不在浏览器中打开新窗口/标签的情况下打开 `tel:+48123` 链接客户端

asp.net-mvc - 如何在特定的 mvc3 Controller /操作上授权用户角色?

asp.net-mvc - ASP.NET MVC 4 区域的 Ajax 请求问题

javascript - 多维数组到对象

javascript - 只触发一次事件?

javascript - Wack-A-Circle 游戏不工作

asp.net-mvc - "Access_Denied"用于谷歌分析

c# - 使用 Rotativa 预览 pdf 而不是下载

javascript - console.log 在分配给新变量时崩溃?