我在vb.net设置中使用fullCalendar。我使用aspx页面中包含的JSON提要将数据传递到日历,如下所示:
events: "JSONcalendarFeed.aspx"
我想知道是否有办法将fullCalendar中当前选定的月份传递给生成JSON Feed的页面,以便我可以提取该月的数据。此外,每当日历中的一年发生变化时,我都需要过新的一年。
谢谢!
答案 0 :(得分:2)
我非常确定fullCalendar实际上将开始和结束时间作为参数发送到您的页面。
来自events as jsonfeed的示例说:/ myfeed.php?start = 1262332800& end = 1265011200 因此,您可能应该阅读这两个参数并从1970年1月1日起将其从秒(而不是在fullCalendar中的ms!)中转换出来
答案 1 :(得分:1)
PAGE
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="diaryFeed.aspx.vb" Inherits="ClubSites.diaryFeed" %>
<% Response.Write(respondBack)%>
代码背后
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.QueryString.ToString <> "" Then
'I don't understand why fullCalendar uses a Unix timestamp.. but use these queries if you use UNIX timestamp, common in PHP apparently
If IsNothing(Request.QueryString("start")) Then
_startDate = Date.Now.AddYears(-1)
_endDate = Date.Now.AddYears(1)
Else
_startDate = CDateFromUNIX(Request.QueryString("start"))
_endDate = CDateFromUNIX(Request.QueryString("end"))
End If
Try
If Not Request.QueryString("Timestart").Length = 0 And Not Request.QueryString("TimeEnd").Length = 0 Then
_startDate = CDate(Request.QueryString("Timestart"))
_endDate = CDate(Request.QueryString("TimeEnd"))
End If
Catch ex As Exception
End Try
'End If
respondBack = JsonConvert.SerializeObject([mycustom function that generates a data table], New Newtonsoft.Json.Converters.IsoDateTimeConverter())
end sub
我使用json .net将我的传出数据转换为json,以便日记可以理解它
和一个将Unix时间戳转换为.NET的辅助函数
Function CDateFromUNIX(ByVal timestamp As Double) As DateTime
Dim origin As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, 0)
Return origin.AddSeconds(timestamp)
End Function