Search code examples
c#asp.netinfragistics

Infragistics UltraWebTree SelectedNode resulting in HttpUnhandledException


I'm having a problem with the UltraWebTree component from Infragistics (version 7.1)

For some reason, when I try to access the SelectedNode property (after selecting an item in the list) I'm getting an exception. Here's some more information:

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Exception: 23.428571428571427 is not a valid value for Int32. ---> System.FormatException: Input string was not in a correct format.
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 System.ComponentModel.Int32Converter.FromString(String value, NumberFormatInfo formatInfo) at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) --- End of inner exception stack trace --- at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) at Infragistics.WebUI.UltraWebNavigator.ClientStateXmlParser.ProcessXmlData(UltraWebTree webTree, XmlNode xmlNode, Object currentObj, Boolean ignoreCase, ArrayList eventList) at Infragistics.WebUI.UltraWebNavigator.UltraWebTree.ProcessPostData(XmlNode doc) at Infragistics.WebUI.UltraWebNavigator.UltraWebTree.LoadPostData(String postDataKey, NameValueCollection values) at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.default_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Solution

  • The problem appears to be caused by the zooming function of Google Chrome. When the zooming level is not set to 100%, this exception randomly seems to appear. When going back to zoom level 100%, everything is working fine again.

    This is probably fixed in a newer version of the Infragistics component, because the component was built when Google Chrome didn't even exist.

    My guess is the user clicks are calculated by coordinates and you end up with doubles instead of integers when the page is zoomed in.