我正在我的网页上使用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)
有没有人见过这个或知道如何解决?我不希望组合框尝试重新加载数据,因为它与Calendar(它有自己的UpdatePanel)不在同一个UpdatePanel中,因为它应该只进行部分回发。
我在这里遗漏了什么吗?请帮忙! 感谢
答案 0 :(得分:0)
我可以怀疑的是,您没有设置包含ComboBox的更新面板的UpdateMode属性,因此每次更新日历“更新”面板时它都会更新,因为默认情况下UpdateMode的值为“始终”。 / p>
所以在我看来你必须像这样设置你的ComboBox更新面板属性
UpdateMode="Conditional"
然后你必须根据你的要求做两件事中的任何一件
设置更新面板的属性
ChildrenAsTriggers = “真”
在完成所有处理后,从代码中明确调用更新面板的“更新”方法。
Tab1UpdatePanel.Update();