JQuery FullCalendar 不显示来自 aspx 页面的事件 [英] JQuery FullCalendar not displaying events from aspx page

查看:35
本文介绍了JQuery FullCalendar 不显示来自 aspx 页面的事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过从 aspx 页面动态获取事件来实现 JQuery FullCalendar.但它没有在日历上显示事件.但是,如果我手动将页面响应添加到 events 属性,它就可以正常工作.有人可以帮忙解决问题吗?这是我的代码.

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 代码隐藏:

GetCalendarEvents.aspx codebehind:

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

推荐答案

我找到了问题所在.在GetCalendarEvents.aspx"代码隐藏文件中,我在 Response.Write() 之后添加了以下行,它工作正常.

I figured out the issue. In "GetCalendarEvents.aspx" code-behind file, I added the following line after Response.Write() and it worked fine.

Response.End()

谢谢

这篇关于JQuery FullCalendar 不显示来自 aspx 页面的事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆