| Issue 895: | JQuery FullCalendar not displaying events from aspx page | |
| 1 person starred this issue and may be notified of changes. | Back to list |
Hi,
I have implemented JQuery FullCalendar by fetching the events dynamically from an aspx page. But it is not displaying the events on the calendar. But if I manually add the page response to the events attribute, it works fine. Can anybody please help what would be the issue? Here is my code.
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
//events: "GetCalendarEvents.aspx?id=2612&role=supervisor" --->not working
// works fine if i add the above page's response to the events manually as shown below
events: [
{
"id": 1,
"title": "Family Sick - Unsubstantiated",
"start": "2011-03-21 08:00:00",
"end": "2011-03-22 17:00:00",
"editable": false,
"url": "LeaveRequestForm.aspx?id=1"
},
{
"id": 2,
"title": "Family Medical Leave",
"start": "2011-04-25 13:00:00",
"end": "2011-04-25 17:00:00",
"editable": false,
"url": "LeaveRequestForm.aspx?id=1"
},
{
"id": 3,
"title": "Vacation",
"start": "2011-04-14 08:00:00",
"end": "2011-04-16 17:00:00",
"editable": false,
"url": "LeaveRequestForm.aspx?id=2"
},
{
"id": 4,
"title": "Training",
"start": "2011-04-12 08:00:00",
"end": "2011-04-12 17:00:00",
"editable": false,
"url": "LeaveRequestForm.aspx?id=2"
}
]
});
GetCalendarEvents.aspx code-behind:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dbAPD As DBAPDData = New DBAPDData()
Dim util As Utils = New Utils()
Dim approverID As String = ""
Dim approverRole As String = ""
If (Request.QueryString("id") IsNot Nothing) Then
approverID = Request.QueryString("id").Trim()
End If
If (Request.QueryString("role") IsNot Nothing) Then
approverRole = Request.QueryString("role").Trim()
End If
Dim eventsList As List(Of CalendarEvent) = New List(Of CalendarEvent)()
Dim ds As DataSet = dbAPD.GetLeaveRequestDetailsByApprover(approverID, approverRole, 2) 'LeaveStatusCode = 2 --> Approved
If (ds.Tables(0).Rows.Count > 0) Then
For Each dr As DataRow In ds.Tables(0).Rows
Dim calEvent As CalendarEvent = New CalendarEvent()
calEvent.id = If(IsDBNull(dr("LeaveRequestDetailsID")), 0, Convert.ToInt32(dr("LeaveRequestDetailsID")))
calEvent.title = If(IsDBNull(dr("LeaveCode")), "", dbAPD.GetLeaveCodeDescription(Convert.ToString(dr("LeaveCode"))))
calEvent.url = If(IsDBNull(dr("LeaveRequestID")), "", "LeaveRequestForm.aspx?id=" + Convert.ToString(dr("LeaveRequestID")))
calEvent.start = If(IsDBNull(dr("FromDate")), "", String.Format("{0:yyyy-MM-dd HH:mm:ss}", Convert.ToDateTime(dr("FromDate"))))
calEvent.end = If(IsDBNull(dr("ToDate")), "", String.Format("{0:yyyy-MM-dd HH:mm:ss}", Convert.ToDateTime(dr("ToDate"))))
eventsList.Add(calEvent)
Next
End If
' Serialize the return value .
Dim js As New System.Web.Script.Serialization.JavaScriptSerializer
Dim strEvents As String = js.Serialize(eventsList)
Response.Clear()
Response.Write(strEvents)
End Sub
Apr 8, 2011
#1
sowji...@gmail.com
Apr 15, 2011
It would be best to do it from the aspx page and not code behing. Your aspx page should have these lines " <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="YOURS.aspx.vb" Inherits="x.YOURS" %> <% Response.Write(strEvents)%> " No body,head or anything else. Declare the 'strEvents' as public and generate it on page load. Your method will work but my suggested one will stop any unwanted artefacts that may be generated by other classes etc.
May 8, 2011
sorry, but this issue tracker is not for debugging peoples' projects in server-side languages, it is only meant to debug the js.
Status:
Done
|
|
| ► Sign in to add a comment |