asp.net mvc-如何在jQuery FullCalendar上显示有关事件的附加信息?有没有办法在日历上安排重复



我正在编写一个asp.net mvc房间预订应用程序,尝试在其中集成完整日历。因此,当有人为某个活动预订房间时,他们会为该活动选择一个时间,给它一个标题,系统会为该事件分配一个预订ID。然后在日历的日期栏上,我们可以看到为该活动保留的时间和该活动的标题。所以我想在时间旁边显示一个预订ID,而不是活动的标题,比如"上午8:00-10:00预订ID#123"。有可能吗?我需要编辑核心文件fullcalendar.js吗?

此外,有没有办法在日历上安排重复发生的事件?

非常感谢!

根据需要构建一个表示事件标题的属性。

您的控制器动作

public JsonResult GetEvents(double start, double end)
{
    //Bunch of work to deal with date format and retrieve data
    var urlHelper = new UrlHelper(ControllerContext.RequestContext);
    var result = from e in eventList
             select
                 new
                     {
                         id = e.EventId,
                         title = e.StartDate.ToString("s") + " - " +
                                                     e.EndDate.ToString("s") + 
                                                     " Reservation ID#" +
                                                     e.ReservationNumber,
                         start = e.StartDate.ToString("s"),
                         end = e.EndDate.ToString("s"),
                         url = urlHelper.Action("Details", "Event", 
                                                     new {id = e.EventId}),
                         color = e.IsActive ? "#2E9AFE" : "#FA5858"
                     };
    var rows = result.ToArray();
    return Json(rows, JsonRequestBehavior.AllowGet);
}

就反复发生的事件而言,你必须自己建立起来。我基本上创建了一个标准的CRUD添加事件操作,该操作还要求递归到日期。

当您取回事件列表时,您可以在集合中进行迭代,以查找具有重复周期的事件。当你找到一个时,你必须经过确定要添加的"虚拟"重复事件的过程。我基本上确定了一个从现在到复发结束的日期列表,应该有一个复发事件。

一旦您有了重复的日期列表,请为每个日期创建一个新事件,其中包含原始事件的id和所有其他详细信息。这样,当您单击日历事件时,它们表示相同的事件。拿着这个新的事件列表,把它粘在你原来的事件列表上,你就做好了。您的日历将显示重复发生的事件,但不会更明智。

希望能有所帮助。

相关内容

  • 没有找到相关文章

最新更新