我在vb.net设置中使用fullCalendar。我使用包含在aspx页面中的JSON提要将数据传递给日历,如下所示:
events: "JSONcalendarFeed.aspx"
我想知道是否有一种方法可以将fullCalendar中当前选择的月份传递到生成JSON提要的页面,以便我可以提取该月份的数据。而且,每当日历上的一年发生变化时,我都需要在新的一年里度过。
谢谢!
我很确定fullCalendar实际上将开始和结束时间作为参数发送到您的页面。
from events as jsonfeed的示例如下:/myfeed.php?start=1262332800&end=1265011200因此,您可能应该读取这两个参数并将它们从1970年1月1日起的秒(而不是fullCalendar中的ms !)转换为
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