通过 json 将全日历事件传递到控制器



我正在尝试通过 Json 将完整日历事件传递给我的控制器,但是我正在将 null 传递给我的控制器?我做错了什么?这是我的视图代码:

<script type='text/javascript'>
    $(document).ready(function () {
        $(function () {
            $("#save").click(function () {
                var eventsFromCalendar = $('#calendar').fullCalendar('clientEvents');
                alert(eventsFromCalendar);
                $.ajax(
            {
                url: '@Url.Action("Save")',
                type: 'POST',
                traditional: true,
                data: eventsFromCalendar,
                dataType: "json",
                success: function (response) {
                    alert(response);
                },
                error: function (xhr) {
                    debugger;
                    alert(xhr);
                }
            });
            });
        });
    });
     </script> 

还有我的控制器:

[HttpPost]
public JsonResult Save(object[] data)
{
    // edit the item and get it back
    return Json("success");
}

当我闯入 Jscript 并查看 eventsFromCalendar 时,它填充得很好。

尝试将事件转换为 JSON 文本:

data:{ eventsJson: JSON.stringify(eventsFromCalendar) }

(参见 JSON.stringify Function (JavaScript))

然后使用 Json.NET 之类的工具解析控制器操作中发布的 JSON 字符串:

[HttpPost]
public ActionResult Save(string eventsJson)
{
    var events = JsonConvert.DeserializeObject<IEnumerable<Event>>(eventsJson);
    return View();
}
public class Event
{
    public int Id { get; set; }
    public string Title { get; set; }
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新