2010-08-02 73 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