Infragistics UltraWebTree SelectedNode 导致 HttpUnhandledException

Infragistics UltraWebTree SelectedNode resulting in HttpUnhandledException

我在使用 Infragistics(版本 7.1)的 UltraWebTree 组件时遇到问题

出于某种原因,当我尝试访问 SelectedNode 属性(在选择列表中的项目后)时出现异常。这里有更多信息:

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)

问题似乎是由 Google Chrome 的缩放功能引起的。 当缩放级别未设置为 100% 时,此异常似乎是随机出现的。 当返回到 100% 缩放级别时,一切正常。

这可能已在较新版本的 Infragistics 组件中修复,因为该组件是在 Google Chrome 甚至不存在时构建的。

我的猜测是用户点击是按坐标计算的,当页面放大时你最终得到的是双精度而不是整数。