2010-08-02 72 views
1

我在我的Asp.Net 1.1应用程序中使用Fullcalendar。为了从服务器端获取数据,我使用Ajaxpro。所以代码被事件Fullcalendar被写成如下:FullCalendar的事件函数

$calendar.fullCalendar({   
     editable: true, 
     selectable: true, 
     theme: true, 
     height: 545,     
     defaultView: 'agendaWeek', 
     header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay' 
      }, 
     events: function(start, end, callback) { 
      dss.user_activity.getActivities(function(doc) { 
      var events = []; 
         var obj = jQuery.parseJSON(doc.value); 
         $(obj.Head).each(function() {       
          events.push({ 
       id: this.SQ_USER_ACTIVITY_ID, 
          title: this.CH_SUBJECT, 
          start: this.start, 
       end: this.end, 
       allDay: this.BL_ALL_DAY    
          }); 
         }); 
         callback(events); 
      }); 
      } 
}); 

但是我有一个问题是,当我拖累了这些来自数据库和交换日历的视图中的事件,所有事件回到自己的默认位置。

我想要更改事件以保护其位置,当我打开日历视图时。

回答

1

然后您需要将事件保存到数据库。在事件的放置事件上使用回调以将其保存到数据库。切换视图时,它通过调用数据库来刷新事件。

+0

感谢您的回复。将事件保存到数据库对于每个更改事件都不是有用的方法。我最后点击一个保存按钮将其全部保存。 – mavera 2010-08-02 13:58:12

+0

然后,我会检查一种方法,防止它进入服务器以获取当您更改视图时已有的事件。现在发生的事情是默认行为。 – justkt 2010-08-02 14:01:54

+0

究竟发生了什么事情,事件函数在每次切换中都触发并且dss.user_activity.getActivities函数正在运行。通常,如果我只写服务器端代码,我可以通过page.ispostback方法解决这个问题。但是在客户端,我不知道如何执行一个像ispostback控制的行为。 – mavera 2010-08-02 14:20:45