Asp.net web api 事件更改不会与Fullcalendar.js和ASP.Net WebApi一起发布

Asp.net web api 事件更改不会与Fullcalendar.js和ASP.Net WebApi一起发布,asp.net-web-api,fullcalendar,Asp.net Web Api,Fullcalendar,我正在尝试将Fullcalendar与MVC WebApi应用程序一起使用。数据加载成功,但更改不会发送到服务器 我正在使用最新的Fullcalendar-Beta版 这是我的完整日历-初始化: $(document).ready(function () { $('#calendar').fullCalendar({ events: '/api/CalendarData', eventClick: function (calEvent, jsEvent,

我正在尝试将Fullcalendar与MVC WebApi应用程序一起使用。数据加载成功,但更改不会发送到服务器

我正在使用最新的Fullcalendar-Beta版

这是我的完整日历-初始化:

$(document).ready(function () {
    $('#calendar').fullCalendar({
        events: '/api/CalendarData',

        eventClick: function (calEvent, jsEvent, view) {
            var form = $("<form class='form-inline'><label>Change event name &nbsp;</label></form>");
            form.append("<input class='middle' autocomplete=off type=text value='" + calEvent.title + "' /> ");
            form.append("<button type='submit' class='btn btn-sm btn-success'><i class='icon-ok'></i> Save</button>");
            var div = bootbox.dialog({
                message: form,
                buttons: {
                    "delete": {
                        "label": "<i class='icon-trash'></i> Delete Event",
                        "className": "btn-sm btn-danger",
                        "callback": function () {
                            calendar.fullCalendar('removeEvents', function (ev) {
                                return (ev._id == calEvent._id);
                            })
                        }
                    },
                    "close": {
                        "label": "<i class='icon-remove'></i> Close",
                        "className": "btn-sm"
                    }
                }
            });
            form.on('submit', function () {
                calEvent.title = form.find("input[type=text]").val();
                calendar.fullCalendar('updateEvent', calEvent);                
                div.modal("hide");
                return false;
            });

        ...
    });
});
$(文档).ready(函数(){
$(“#日历”).fullCalendar({
事件:'/api/CalendarData',
eventClick:函数(calEvent、jsEvent、view){
变量形式=$(“变更事件名称”);
格式.附加(“”);
表格。附加(“保存”);
var div=bootbox.dialog({
信息:表格,
按钮:{
“删除”:{
“标签”:“删除事件”,
“类名”:“btn sm btn危险”,
“回调”:函数(){
calendar.fullCalendar('removeEvents',函数(ev){
返回(ev.\U id==calEvent.\U id);
})
}
},
“结束”:{
“标签”:“关闭”,
“类名”:“btn sm”
}
}
});
表单('submit',函数(){
calEvent.title=form.find(“输入[type=text]”).val();
calendar.fullCalendar('updateEvent',calEvent);
模态分类(“隐藏”);
返回false;
});
...
});
});
以下是我的WebApicController方法:

    public IEnumerable<FullCalendarEvent> Get(DateTime start, DateTime end)
    {
        List<FullCalendarEvent> retList = new List<FullCalendarEvent>()
        {
            new FullCalendarEvent(){
                id = 1,
                start = new DateTime(2014,2,22,10,00,00),
                end = new DateTime(2014,2,22,12,00,00),
                title = "Mein zweiter Termin"
            },
            new FullCalendarEvent(){
                id = 2,
                start = new DateTime(2014,2,20,10,00,00),
                end = new DateTime(2014,2,20,12,00,00),
                title = "Mein erster Termin"
            }
        };

        return retList;
    }

    // POST api/calendardata
    public void Post([FromBody]FullCalendarEvent value)
    {
    }
公共IEnumerable Get(日期时间开始,日期时间结束) { List retList=新列表() { 新的FullCalendarEvent(){ id=1, 开始=新日期时间(2014,2,22,10,00,00), 结束=新的日期时间(2014,2,22,12,00,00), title=“Mein zweiter终端” }, 新的FullCalendarEvent(){ id=2, 开始=新日期时间(2014,2,20,10,00,00), 结束=新的日期时间(2014,2,20,12,00,00), title=“Mein erster Term” } }; 返回列表; } //发布api/日历数据 公共作废帖子([FromBody]FullCalendarEvent值) { } MVC WebApi-Projecttemplates的路由默认设置没有改变


谢谢!

我不确定这种方式是否正确,但它对我有效。我自己使用$.post对帖子进行编程

下面是代码:

    eventClick: function (calEvent, jsEvent, view) {
        var form = $("<form id='EditEventForm' class='form-inline'  method='post' action='api/changes/EditEvent' enctype='application/x-www-form-urlencoded'><label>Change event name &nbsp;</label>");
        form.append("<input id='title' name='title' class='middle' autocomplete=off type=text value='" + calEvent.title + "' data-val='true' /> ");
        form.append("<input id='id' type='hidden' value='1' name='id' data-val='true'>");
        form.append("<button type='submit' class='btn btn-sm btn-success'><i class='icon-ok'></i> Save</button></form>");
        var div = bootbox.dialog({
            message: form,
            buttons: {
                "delete": {
                    "label": "<i class='icon-trash'></i> Delete Event",
                    "className": "btn-sm btn-danger",
                    "callback": function () {
                        calendar.fullCalendar('removeEvents', function (ev) {
                            return (ev._id == calEvent._id);
                        })
                    }
                },
                "close": {
                    "label": "<i class='icon-remove'></i> Close",
                    "className": "btn-sm"
                }
            }
        });
        form.on('submit', function () {
            var Event = JSON.stringify(calEvent);
            Event = $('#EditEventForm').serialize();

            $.post('api/CalendarData/EditEvent', Event);
        });
event单击:函数(calEvent、jsEvent、view){
变量形式=$(“变更事件名称”);
格式.附加(“”);
格式.附加(“”);
表格。附加(“保存”);
var div=bootbox.dialog({
信息:表格,
按钮:{
“删除”:{
“标签”:“删除事件”,
“类名”:“btn sm btn危险”,
“回调”:函数(){
calendar.fullCalendar('removeEvents',函数(ev){
返回(ev.\U id==calEvent.\U id);
})
}
},
“结束”:{
“标签”:“关闭”,
“类名”:“btn sm”
}
}
});
表单('submit',函数(){
var Event=JSON.stringify(calEvent);
事件=$('#EditEventForm')。序列化();
$.post('api/CalendarData/EditEvent',事件);
});