在JQUERY UI完整日历中进行更改时,是否有人知道如何更新基础数据源(sql服务器数据库)?
我启用并运行FullCalendar插件,并且也填充了数据,启用了拖放选项,并且它们起作用了,显然这些更改未提交给数据库,并且我不确定如何处理,也许是某种我的控制器中的AJAX调用方法?尽管我不确定该如何执行。
希望问题不会太模糊,只是在朝着正确的方向努力之后。
干杯
解决方案:
因此,最终的解决方案如下所示:
ASP.NET MVC 5 CSHTML页面
@section scripts{
<script type="text/javascript">
// <![CDATA[
$(document).ready(function () {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
theme: false,
defaultView: 'month',
editable: false,
events: "/controller/GetEvents/",
editable: true,
eventDrop: function (event, delta, revertFunc) {
var id = event.id;
var start = event.start;
$.ajax({
url: "/controller/FullCalendarEventDrop/",
type: "POST",
data: {id: id, start: start}
});
}
});
});
// ]]></script>
}
控制器:
[HttpPost]
public void FullCalendarEventDrop(int id, string start)
{
DateTime startDt = DateTime.ParseExact(start, "ddd MMM d hh:mm:ss UTC yyyy", null).ToUniversalTime();
OBJECT OBJECTNAME = db.OBJECT.Find(id);
_OBJECTNAME.StartDate = startDt;
_OBJECTNAME.EndDate = startDt;
db.Entry(OBJECTNAME).State = EntityState.Modified;
db.SaveChanges();
}
因此,目前还没有错误处理,但我将其放入其中,最重要的是更新工作正常。
谢谢
:D
您可以使用eventDrop回调并将数据通过AJAX传递到控制器。
从文档修改...
$('#calendar').fullCalendar({
events: [
// events here
],
editable: true,
eventDrop: function(event, delta, revertFunc) {
$.ajax({
url: "/MyController/FullCalendarEventDrop",
data: event
});
}
});
控制器
[HttpPost]
public JsonResult FullCalendarEventDrop(int id, DateTime start, DateTime end)
{
//Get the event by the id and update its start/end
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句