2016-05-08 20 views
-1

das ist der Teil meiner JavaScript-Code, fullcalendar verwendet:eventDrop mit ASP.NET MVC

<script type="text/javascript"> 
$(document).ready(function() { 

    $('.i-checks').iCheck({ 
     checkboxClass: 'icheckbox_square-green', 
     radioClass: 'iradio_square-green', 
    }); 

    $('#calendar').fullCalendar({ 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     weekNumbers: true, 
     eventLimit: true, 
     editable: true,    
     events: '/Service/GetEventSources/', 
     eventDrop: function (event, delta, revertFunc, jsEvent, ui, view) { 
      $.ajax({ 
       url: '/Service/ChangeEvent/', 
       dataType: 'POST', 
       data: { 
        id: event.id, 
        start: event.start, 
        end: event.end 
       }, 
      }); 
     }, 
    }); 
}); 
</script> 

Dies ist der C# Teil ist, wo ich ein Datenbank-Update in meinem ASP.NET MVC Web tun wollen Anwendung:

[HttpPost] 
public JsonResult ChangeEvent(int id, DateTime start, DateTime end) 
{ 

    return Json(new 
    { 
     id =id, 
     start = start.ToString("s"), 
     end = end.ToString("s") 
    }, JsonRequestBehavior.AllowGet); 
} 

ich bin mit diesem Bündel Konfiguration in meinem C# Web App:

// fullCalendar styles 
bundles.Add(new StyleBundle("~/plugins/fullCalendarStyles").Include(
"~/Content/plugins/fullcalendar/fullcalendar.css")); 

// fullCalendar 
bundles.Add(new ScriptBundle("~/plugins/fullCalendar").Include(
"~/Scripts/plugins/fullcalendar/moment.min.js", 
"~/Scripts/plugins/fullcalendar/fullcalendar.js", 
"~/Scripts/plugins/fullcalendar/lang/de.js")); 

Ich habe diese Dateien heute (08.04.2016) heruntergeladen, damit sie auf dem neuesten Stand sind.

Die Post-Funktion ‚Change‘ in der Steuerung ‚Service‘ genannt wird nie - stattdessen bekomme ich folgende Fehler (von Chrome Debug-Modus): Google Debug View

Weiß jemand, was hier falsch ist?

Antwort

0

Ich beantworte die Frage selbst! Das Problem war der Javascript-Teil. Die Start- und Endeigenschaften des Events mussten mit format() verwendet werden. Jetzt funktioniert alles:

eventDrop: function (event, delta, revertFunc, jsEvent, ui, view) { 
     $.ajax({ 
      url: '/Service/ChangeEvent/', 
      dataType: 'POST', 
      data: { 
       id: event.id, 
       start: event.start.format(), 
       end: event.end.format() 
      }, 
     }); 
    },