We have a page with search form, which uses 2 RadDatePicker components.
and a piece of javascript code :
Default values are set by C# code directly. In general it works fine, but the problem is, that we get errors from calendar components like this -
<
div
class
=
"calendar date"
>
<
table
>
<
tr
>
<
td
>
<
asp:Label
runat
=
"server"
AssociatedControlID
=
"DateFrom"
><%=GetTranslatedText("LANG_WEB_MOBS_LASTMINUTE_DEPARTURE_DATE_LARGE")%></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadDatePicker
ID
=
"DateFrom"
runat
=
"server"
Width
=
"100px"
>
<
ClientEvents
OnDateSelected
=
"OnDateFromSelected"
/>
</
telerik:RadDatePicker
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:Label
ID
=
"WeekDayCheckIn"
runat
=
"server"
>Dienstag</
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
div
>
<
div
class
=
"calendar duration"
>
<
table
>
<
tr
>
<
td
>
<
asp:Label
runat
=
"server"
AssociatedControlID
=
"Duration"
><%=GetTranslatedText("LANG_WEB_MOBS_LASTMINUTE_DURATION")%></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:DropDownList
runat
=
"server"
ID
=
"Duration"
onchange
=
"SetReturnDate_CY('ctl00_ContentMainPlaceHolder_SearchForm_');GetDayOfWeek('ctl00_ContentMainPlaceHolder_SearchForm_');"
>
<
asp:ListItem
Value
=
""
Text
=
"Bitte wählen"
></
asp:ListItem
>
<
asp:ListItem
Value
=
""
disabled
=
"disabled"
Text
=
"-------------"
></
asp:ListItem
>
<
asp:ListItem
Value=">=1 <=5" Text="1-5 Nächte"></
asp:ListItem
>
<
asp:ListItem
style
=
"font-weight: bold;"
Value=">=6 <=8" Text="6-8 Nächte(1 Woche)"></
asp:ListItem
>
<
asp:ListItem
Value=">=9 <=12" Text="9-12 Nächte"></
asp:ListItem
>
<
asp:ListItem
style
=
"font-weight: bold;"
Value=">=13 <=15" Text="13-15 N. (2 Wochen)"></
asp:ListItem
>
<
asp:ListItem
Value=">=16 <=19" Text="16-19 Nächte"></
asp:ListItem
>
<
asp:ListItem
style
=
"font-weight: bold;"
Value=">=20 <=22" Text="20-22 N. (3 Wochen)"></
asp:ListItem
>
<
asp:ListItem
Value
=
""
disabled
=
"disabled"
Text
=
"-------------"
></
asp:ListItem
>
<
asp:ListItem
Value=">=1 <=1" Text="1 Nacht"></
asp:ListItem
>
<
asp:ListItem
Value=">=2 <=2" Text="2 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=3 <=3" Text="3 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=4 <=4" Text="4 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=5 <=5" Text="5 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=6 <=6" Text="6 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=7 <=7" Text="7 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=8 <=8" Text="8 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=9 <=9" Text="9 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=10 <=10" Text="10 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=11 <=11" Text="11 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=12 <=12" Text="12 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=13 <=13" Text="13 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=14 <=14" Text="14 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=15 <=15" Text="15 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=16 <=16" Text="16 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=17 <=17" Text="17 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=18 <=18" Text="18 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=19 <=19" Text="19 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=20 <=20" Text="20 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=21 <=21" Text="21 Nächte"></
asp:ListItem
>
<
asp:ListItem
Value=">=22" Text=">21 Nächte"></
asp:ListItem
>
</
asp:DropDownList
>
</
td
>
</
tr
>
</
table
>
</
div
>
<
div
class
=
"calendar date"
>
<
table
>
<
tr
>
<
td
>
<
asp:Label
runat
=
"server"
AssociatedControlID
=
"DateTo"
><%=GetTranslatedText("LANG_WEB_MOBS_LASTMINUTE_RETURN_DATE_LARGE")%></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadDatePicker
ID
=
"DateTo"
runat
=
"server"
Width
=
"100px"
>
<
ClientEvents
OnDateSelected
=
"OnDateToSelected"
/>
</
telerik:RadDatePicker
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:Label
runat
=
"server"
ID
=
"WeekDayCheckOut"
>Dienstag</
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
div
>
and a piece of javascript code :
function
SetReturnDate_CY(prefix)
{
if
(document.getElementById(prefix+
'Duration'
)) {
dt = $find(prefix+
'DateFrom'
).get_selectedDate();
min_duration = MinDuration_CY(prefix);
max_duration = MaxDuration_CY(prefix);
var
one_day = 1000 * 60 * 60 * 24;
if
($find(prefix+
'DateTo'
).get_selectedDate()) {
dt2 = $find(prefix+
'DateTo'
).get_selectedDate();
//Calculate difference btw the two dates, and convert to days
var
diff = Math.ceil((dt2.getTime() - dt.getTime()) / one_day);
}
else
{
dt2 = dt;
diff = 0;
}
calendar=$find(prefix+
"DateTo"
);
if
(calendar)
{
if
(diff < min_duration) {
dt2.setTime(dt.getTime() + (max_duration+7) * one_day);
calendar.set_selectedDate(dt2);
}
var
min_return_date=dt;
min_return_date.setTime(dt.getTime()+one_day);
calendar.set_minDate(min_return_date);
}
}
}
// SetReturnDate
Default values are set by C# code directly. In general it works fine, but the problem is, that we get errors from calendar components like this -
User Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Error Message: Input string was not in a correct format.
Error Source: mscorlib
Error TargetSite: Void StringToNumber(System.String, System.Globalization.NumberStyles, NumberBuffer ByRef, System.Globalization.NumberFormatInfo, Boolean)
Error Stack Trace: at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at Telerik.Web.UI.Calendar.Utils.Utility.ConvertToServerDateTimeCollection(DateTimeCollection dateTimeCollection, String inputString)
at Telerik.Web.UI.RadCalendar.LoadPostData(String postDataKey, NameValueCollection postCollection)
at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
These errors come from unknown user and we have no clue, how to reproduce and how to fix it. We use the version RadControls for ASP.NET AJAX Q3 2011. Do you have any ideas, why this can happen?
Best regards,
Leonid