我正在尝试使用jQuery FullCalendar(Link to the jQuery FullCalendar)为Orchard制作预订系统。 我发现这个youtube tutorial on how to install FullCalendar as a Widget in Orchard并在一段时间后在1.7.2中设置了它。 现在我希望能够从站点添加和编辑事件(目前它已经设置好,因此您必须通过管理面板添加新事件,与编辑相同)。
我认为我必须开始的地方可以在pastebin。
当我使用以下代码时:
//dayClick: function(date, allDay, jsEvent, view) {
// if (allDay) {
// alert('Clicked on the entire day: ' + date);
// }else{
// alert('Clicked on the slot: ' + date);
// }
// alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
// alert('Current view: ' + view.name);
//},
然后点击我日历上的时间它告诉我日期等等(所以onclick事件有效),我只是不确定我应该如何继续前进。 我希望能够从日历视图atm添加一个事件。到目前为止,我已经能够添加它,但不能将其保存到数据库中,我想这与它有关:
var fullCalEvents = [];
var iterator = function (event) {
var newEvent;
newEvent = new Booking.Event(event.title, event.start, event.end, event.url, false);
fullCalEvents.push(newEvent);
};
但我不知道从哪里开始。
我写的当前选择是我可以添加事件但不将其保存在数据库中的选项。
如果需要,我可以提供更多信息!
我希望有人可以告诉我如何做到这一点。
谢谢
卡斯帕
答案 0 :(得分:0)
让我们试试LeCattez,
我暂时不会乱用C#,但你可能知道我要谈的是什么。 在你的处理程序类中,你需要有类似的东西,这是来自SO的另一个问题。
<%@ WebHandler Language="C#" Class="MyHandler" %>
using System;
using System.Web;
public class MyHandler : IHttpHandler
{
public void ProcessRequest (HttpContext ctx)
{
var json = new JSONResonse()
{
Success = ctx.Request.QueryString["name"] != null,
Name = ctx.Request.QueryString["name"]
};
ctx.Response.ContentType = "application/json";
ctx.Response.Write(JsonConvert.SerialzeObject(json));
}
public bool IsReusable {
get { return false; }
}
}
在处理程序中,您必须获取从AJAX调用发送的数据。这是一个关于如何使用Jquery.Ajax发送数据的示例。
select: function(start, end, allDay, jsEvent, view){
$.ajax({
type: 'POST',
url: ajaxcallURL(_url,"2001"),
data: {"start":start,"end":end,"allDay":allDay }, //Here you can send data to server
beforeSend:function(){
//TODO do somethin before sendind data
},
complete:function(){
calendar.fullCalendar( 'refetchEvents' ); //This line will force hte calendar to re-get all eventSources
//wich means everytime you select a time period in calendar this will happen
},
success: function(data)
{
//TODO Do stuff with eventual data you need to send back to client
},
error: function(jqXHR, textStatus, errorThrown){
//Handle errors here
}
});
},//SELECT
当然你可以向服务器发送一个对象,例如一个JSON对象,然后像上面看到的那样获取那个对象。
在http处理程序中,您必须保存到数据库数据。
你知道吗?或者您需要进一步解释?让我知道......