When clicking on the "more..." link on the RadScheduler I receive the following error:
Exception Details: System.FormatException: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
Exception information:
Exception type: FormatException
Exception message: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
at System.DateTime.ParseExact(String s, String format, IFormatProvider provider, DateTimeStyles style)
at Telerik.Web.UI.SchedulerPostBackEvent.ParseJavaScriptTime(String jsTime)
at Telerik.Web.UI.SchedulerPostBackEvent.DeserializeFromJSON(String json, RadScheduler scheduler)
at Telerik.Web.UI.RadScheduler.RaisePostBackEvent(String eventArgument)
at Telerik.Web.UI.RadScheduler.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
I do not get a line number so I'm not sure where the conversion is being made. Any help would be appreciated.
This is my Master Page:
Here is the ASCX:
corCalendarEvent.js
The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.FormatException: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
Exception information:
Exception type: FormatException
Exception message: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
at System.DateTime.ParseExact(String s, String format, IFormatProvider provider, DateTimeStyles style)
at Telerik.Web.UI.SchedulerPostBackEvent.ParseJavaScriptTime(String jsTime)
at Telerik.Web.UI.SchedulerPostBackEvent.DeserializeFromJSON(String json, RadScheduler scheduler)
at Telerik.Web.UI.RadScheduler.RaisePostBackEvent(String eventArgument)
at Telerik.Web.UI.RadScheduler.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
I do not get a line number so I'm not sure where the conversion is being made. Any help would be appreciated.
This is my Master Page:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MacroTesting.aspx.cs" Inherits="corCalendarSpecialEvents.MacroTesting" %><%@ Register src="usercontrols/corCalendarSpecialEvents.ascx" tagname="corCalendarSpecialEvents" tagprefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true"> </asp:ScriptManager> <div> <uc1:corCalendarSpecialEvents ID="corCalendarSpecialEvents1" runat="server" /> </div> </form></body>
</html> Here is the ASCX:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="corCalendarSpecialEvents.ascx.cs" Inherits="corCalendarSpecialEvents.usercontrols.corCalendarSpecialEvents" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><script type="text/javascript" src="http://www.site.com/Scripts/corCalendarEvent.js"></script><script type="text/javascript"> function DisplayEventDetails(sender, eventArgs) { var IE = navigator.userAgent; if (IE.match("MSIE")) { var apt = eventArgs.get_appointment(); var IE = navigator.userAgent; var startDate = new Date(); var endDate = new Date(); startDate = apt.get_start(); endDate = apt.get_end(); startDate = dateFormat(startDate, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); endDate = dateFormat(endDate, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); alert("Event: " + apt.get_subject() + "\n" + "Description: " + apt.get_description() + "\n" + "Start: " + startDate.toString() + " CST" + "\n" + "End: " + endDate.toString() + " CST"); } else { var oWnd = $find("<%=corEventWindow.ClientID %>"); var apt = eventArgs.get_appointment(); subject = apt.get_subject(); description = apt.get_description(); start = apt.get_start(); end = apt.get_end(); start = dateFormat(start, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); end = dateFormat(end, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); document.getElementById("corEventText").innerHTML = subject; document.getElementById("corEventDescription").innerHTML = description; document.getElementById("corEventStart").innerHTML = start.toString() + " CST"; document.getElementById("corEventEnd").innerHTML = end.toString() + " CST"; oWnd.show(); } }</script><telerik:RadScheduler ID="rsCorSECalendar" runat="server" DataDescriptionField="Description" DataEndField="End" DataKeyField="ID" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" DataReminderField="Reminder" DataSourceID="corSPCalendar" DataStartField="Start" DataSubjectField="Subject" StartEditingInAdvancedForm="False" EnableDescriptionField="True" SelectedView="MonthView" Width="794px" ReadOnly="true" Height="575px" OnClientAppointmentClick="DisplayEventDetails" Skin="Telerik" AdvancedForm-Modal="true" Culture="en-US"> <AppointmentTemplate> <div id="corSEApptTemplate" style="font-family:Calibri;font-size:10pt;"> <span style="font-weight:bold">Event: </span><%# Eval("Subject") %> <br /> <span style="font-weight:bold">Description: </span><%# Eval("Description") %> <br /> <span style="font-weight:bold">Start Time: </span><%# Eval("Start") %> <span style="font-weight:bold">End Time: </span><%# Eval("End") %> </div> </AppointmentTemplate></telerik:RadScheduler><asp:SqlDataSource ID="corSPCalendar" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:corCalendarSpecialEvents %>" DeleteCommand="DELETE FROM [Appointments] WHERE [ID] = @original_ID AND [Subject] = @original_Subject AND (([Description] = @original_Description) OR ([Description] IS NULL AND @original_Description IS NULL)) AND [Start] = @original_Start AND [End] = @original_End AND (([RoomID] = @original_RoomID) OR ([RoomID] IS NULL AND @original_RoomID IS NULL)) AND (([UserID] = @original_UserID) OR ([UserID] IS NULL AND @original_UserID IS NULL)) AND (([RecurrenceRule] = @original_RecurrenceRule) OR ([RecurrenceRule] IS NULL AND @original_RecurrenceRule IS NULL)) AND (([RecurrenceParentID] = @original_RecurrenceParentID) OR ([RecurrenceParentID] IS NULL AND @original_RecurrenceParentID IS NULL)) AND (([Reminder] = @original_Reminder) OR ([Reminder] IS NULL AND @original_Reminder IS NULL)) AND (([Annotations] = @original_Annotations) OR ([Annotations] IS NULL AND @original_Annotations IS NULL))" InsertCommand="INSERT INTO [Appointments] ([Subject], [Description], [Start], [End], [RoomID], [UserID], [RecurrenceRule], [RecurrenceParentID], [Reminder], [Annotations]) VALUES (@Subject, @Description, @Start, @End, @RoomID, @UserID, @RecurrenceRule, @RecurrenceParentID, @Reminder, @Annotations)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Appointments]" UpdateCommand="UPDATE [Appointments] SET [Subject] = @Subject, [Description] = @Description, [Start] = @Start, [End] = @End, [RoomID] = @RoomID, [UserID] = @UserID, [RecurrenceRule] = @RecurrenceRule, [RecurrenceParentID] = @RecurrenceParentID, [Reminder] = @Reminder, [Annotations] = @Annotations WHERE [ID] = @original_ID AND [Subject] = @original_Subject AND (([Description] = @original_Description) OR ([Description] IS NULL AND @original_Description IS NULL)) AND [Start] = @original_Start AND [End] = @original_End AND (([RoomID] = @original_RoomID) OR ([RoomID] IS NULL AND @original_RoomID IS NULL)) AND (([UserID] = @original_UserID) OR ([UserID] IS NULL AND @original_UserID IS NULL)) AND (([RecurrenceRule] = @original_RecurrenceRule) OR ([RecurrenceRule] IS NULL AND @original_RecurrenceRule IS NULL)) AND (([RecurrenceParentID] = @original_RecurrenceParentID) OR ([RecurrenceParentID] IS NULL AND @original_RecurrenceParentID IS NULL)) AND (([Reminder] = @original_Reminder) OR ([Reminder] IS NULL AND @original_Reminder IS NULL)) AND (([Annotations] = @original_Annotations) OR ([Annotations] IS NULL AND @original_Annotations IS NULL))"> <DeleteParameters> <asp:Parameter Name="original_ID" Type="Int32" /> <asp:Parameter Name="original_Subject" Type="String" /> <asp:Parameter Name="original_Description" Type="String" /> <asp:Parameter Name="original_Start" Type="DateTime" /> <asp:Parameter Name="original_End" Type="DateTime" /> <asp:Parameter Name="original_RoomID" Type="Int32" /> <asp:Parameter Name="original_UserID" Type="Int32" /> <asp:Parameter Name="original_RecurrenceRule" Type="String" /> <asp:Parameter Name="original_RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="original_Reminder" Type="String" /> <asp:Parameter Name="original_Annotations" Type="String" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="RoomID" Type="Int32" /> <asp:Parameter Name="UserID" Type="Int32" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="Reminder" Type="String" /> <asp:Parameter Name="Annotations" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="RoomID" Type="Int32" /> <asp:Parameter Name="UserID" Type="Int32" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="Reminder" Type="String" /> <asp:Parameter Name="Annotations" Type="String" /> <asp:Parameter Name="original_ID" Type="Int32" /> <asp:Parameter Name="original_Subject" Type="String" /> <asp:Parameter Name="original_Description" Type="String" /> <asp:Parameter Name="original_Start" Type="DateTime" /> <asp:Parameter Name="original_End" Type="DateTime" /> <asp:Parameter Name="original_RoomID" Type="Int32" /> <asp:Parameter Name="original_UserID" Type="Int32" /> <asp:Parameter Name="original_RecurrenceRule" Type="String" /> <asp:Parameter Name="original_RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="original_Reminder" Type="String" /> <asp:Parameter Name="original_Annotations" Type="String" /> </UpdateParameters></asp:SqlDataSource><telerik:RadWindowManager ID="rwmSECalendar" AutoSize="false" KeepInScreenBounds="true" runat="server"> <Windows> <telerik:RadWindow ID="corEventWindow" runat="server" Title="Event Details" IconUrl="http://www.rockfordil.gov/media/view_calendar_tasks.png" VisibleOnPageLoad="false" Width="560px" Height="350px" Skin="Telerik" Modal="true"> <ContentTemplate> <div id="corEvent" class="corEvent"> <p style="padding-left: 10px; padding-right:10px;"> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Event:</span> <span id="corEventText" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Description:</span> <span id="corEventDescription" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Start:</span> <span id="corEventStart" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">End:</span> <span id="corEventEnd" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> </p> </div> </ContentTemplate> </telerik:RadWindow> </Windows></telerik:RadWindowManager>var dateFormat = function () { var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, timezoneClip = /[^-+\dA-Z]/g, pad = function (val, len) { val = String(val); len = len || 2; while (val.length < len) val = "0" + val; return val; }; // Regexes and supporting functions are cached through closure return function (date, mask, utc) { var dF = dateFormat; // You can't provide utc if you skip other args (use the "UTC:" mask prefix) if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { mask = date; date = undefined; } // Passing date through Date applies Date.parse, if necessary date = date ? new Date(date) : new Date; if (isNaN(date)) throw SyntaxError("invalid date"); mask = String(dF.masks[mask] || mask || dF.masks["default"]); // Allow setting the utc argument via the mask if (mask.slice(0, 4) == "UTC:") { mask = mask.slice(4); utc = true; } var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), m = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), M = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = { d: d, dd: pad(d), ddd: dF.i18n.dayNames[D], dddd: dF.i18n.dayNames[D + 7], m: m + 1, mm: pad(m + 1), mmm: dF.i18n.monthNames[m], mmmm: dF.i18n.monthNames[m + 12], yy: String(y).slice(2), yyyy: y, h: H % 12 || 12, hh: pad(H % 12 || 12), H: H, HH: pad(H), M: M, MM: pad(M), s: s, ss: pad(s), l: pad(L, 3), L: pad(L > 99 ? Math.round(L / 10) : L), t: H < 12 ? "a" : "p", tt: H < 12 ? "am" : "pm", T: H < 12 ? "A" : "P", TT: H < 12 ? "AM" : "PM", Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] }; return mask.replace(token, function ($0) { return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); }); };} ();// Some common format stringsdateFormat.masks = { "default": "ddd mmm dd yyyy HH:MM:ss", shortDate: "m/d/yy", mediumDate: "mmm d, yyyy", longDate: "mmmm d, yyyy", fullDate: "dddd, mmmm d, yyyy", shortTime: "h:MM TT", mediumTime: "h:MM:ss TT", longTime: "h:MM:ss TT Z", isoDate: "yyyy-mm-dd", isoTime: "HH:MM:ss", isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};// Internationalization stringsdateFormat.i18n = { dayNames: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], monthNames: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]};// For convenience...Date.prototype.format = function (mask, utc) { return dateFormat(this, mask, utc);};