Input string was not in a correct format

2 posts, 0 answers
  1. Leonid
    Leonid avatar
    1 posts
    Member since:
    May 2012

    Posted 04 May 2012 Link to this post

    We have a page with search form, which uses 2 RadDatePicker components.

    <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
  2. BabaYa
    BabaYa avatar
    16 posts
    Member since:
    Dec 2011

    Posted 08 May 2012 Link to this post

    Hi,

    Try to upgrade to latest telerik. I use their calendars and they broke it mani times in previous version. Latest still have some problems but your issue can resolved.

    Thanks
    BabaYa
Back to Top