【发布时间】:2012-01-29 08:32:41
【问题描述】:
我在我的网页上使用 AJAX 组合框。该页面还使用包含大约 5 个不同选项卡页的选项卡控件。组合框位于第一个选项卡上,并且位于 UpdatePanel 内。在其他标签页之一上,我有一个自定义日历控件,它也在 UpdatePanel 中。在我在第一个标签页上添加 AJAX 组合框之前,日历工作正常。将项目添加到日历时,它会自动刷新其数据。
但是,现在当我向日历添加项目时,刷新(这会导致日历的 UpdatePanel 部分回发)只是挂起并且永远不会完成。数据存储在数据库中,但日历从不刷新。这似乎与第一个标签页上的 AJAX 组合框直接相关。我的事件日志中出现错误:
Exception information:
Exception type: FormatException
Exception message: Input string was not in a correct format.
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 System.Convert.ToInt32(String value, IFormatProvider provider)
at AjaxControlToolkit.ComboBox.LoadPostData(String postDataKey, NameValueCollection postCollection)
at AjaxControlToolkit.ComboBox.System.Web.UI.IPostBackDataHandler.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)
有没有人见过这个或知道如何解决?我不希望组合框尝试重新加载数据,因为它与日历不在同一个 UpdatePanel 中(它有自己的 UpdatePanel),因为它应该只进行部分回发。
我在这里遗漏了什么吗?请帮忙! 谢谢
【问题讨论】:
-
你能在这里发布实际的 PostBack 数据吗?用 Fiddler 或 firebug 之类的东西抓住它。此外,本地化、CultureInfo 是否始终正确设置为相同?这可能会导致数字或日期时间解析出现问题。还有一个想法:在部分 PostBack 期间,一些必填字段没有正确填写,导致异常。
-
您究竟想从 PostBack 数据中看到什么?使用提琴手,所以我不确定要复制什么。此外,CultureInfo 在整个项目中仅设置一次,并且恰好在添加日历项时选择的日期范围的人口中(设置为 en-us)。