2010-08-02 2 views
1

나는 내 Asp.Net 1.1 응용 프로그램에서 Fullcalendar를 사용하고 있습니다. 서버 측에서 데이터를 가져 오려면 Ajaxpro를 사용합니다.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); 
      }); 
      } 
}); 

하지만 내가 데이터베이스와 스위치 캘린더의보기에서 온 이벤트를 드래그하면, 모든 이벤트는 기본 위치로 다시 이동에 문제가 : 그래서 코드는 Fullcalendar에 이벤트는 다음과 같이 기록되어 도착합니다.

캘린더보기를 바꿀 때 변경된 이벤트가 자신의 위치를 ​​보호하기를 원합니다.

답변

1

이벤트를 데이터베이스에 저장해야합니다. 이벤트에 대해 drop 이벤트에서 콜백을 사용하여 이벤트를 데이터베이스에 저장하십시오. 보기를 전환하면 데이터베이스를 호출하여 이벤트를 새로 고칩니다.

+0

답장을 보내 주셔서 감사합니다. 모든 변경 이벤트에 대해 데이터베이스에 이벤트를 저장하는 것은 유용한 방법이 아닙니다. 마지막으로 저장 버튼을 클릭하여 모두 저장합니다. – mavera

+0

그런 다음 뷰를 변경할 때 이미 가지고있는 이벤트를 가져 오기 위해 서버로 이동하지 않는 방법을 확인합니다. 지금 일어나는 일은 기본 동작입니다. – justkt

+0

정확히 무슨 일이 일어나고 있는지, 모든 전환에서 이벤트 기능이 trigered되고 dss.user_activity.getActivities 기능이 실행 중입니다. 일반적으로 서버 쪽 코드 만 작성하면 page.ispostback 메서드를 사용하여이 문제를 해결할 수 있습니다. 그러나 클라이언트 쪽에서는 ispostback 컨트롤과 같은 동작을 수행하는 방법을 알지 못합니다. – mavera

관련 문제