我正在使用jquery完整日历,我试图保存一个事件,当它被丢弃。
$('calendar').fullCalendar
({
theme: true,
defaultView: 'agendaWeek',
columnFormat:
{
week: "ddd"
},
header: false,
allDaySlot: false,
minTime: '6am',
maxTime: '9pm',
editable: true,
droppable: true,
drop: function (date, allDay)
{ // this function is called when something is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('calendar').fullCalendar('renderEvent', copiedEventObject, true);
},
eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)
{
var a = event.start;
var b = event.end
$.ajax
({
url: MyURL,
type: 'Post',
data: { 'Start': a, 'End': b },
success: function (response)
{
}
});
}
)};
当我警告变量"a" &"b"它告诉我在这些变量中有一个时间
[HttpPost]
public void CreateSlot(string Start, string End)
{
}
我知道它正在到达这个方法,但它从不发送任何参数,它们总是空的。
知道为什么吗?
编辑
它似乎是物体或其他什么东西。我在drop方法中尝试了一下,看看是否发生了同样的事情,发现了同样的事情
但是当我这样做的时候
drop: function (date, allDay)
{
$.ajax
({
url: MyURL,
type: 'Post',
data: { 'Start': date.getTime() },
success: function (response)
{
}
});
}
没有问题。所以我想知道如果asp.net mvc不能找到绑定日期对象。我觉得奇怪的是我用了一个字符串
将日期转换为c#支持的格式。
eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)
{
var a= $('#calendar').fullCalendar('formatDate', event.start, "yyyy-MM-dd HH:mm:ss");
var b;
if (event.end != null||event.end != undefined) {
b = $('#calendar').fullCalendar('formatDate', event.end, "yyyy-MM-dd HH:mm:ss");
}
$.ajax
({
url: MyURL,
type: 'Post',
data: { 'Start': a, 'End': b },
success: function (response)
{
},
error: function (msg) {
revertFunc();
},
});
},
[HttpPost]
public void CreateSlot(DateTime Start, DateTime End)
{
}
是否有可能,因为你没有列出json作为数据类型在你的ajax调用它没有被传递的方式(因此你的方法没有得到正确的parms)?
。
$.ajax
({
url: MyURL,
type: 'Post',
data: { 'Start': a, 'End': b },
dataType: 'json',.....