我的页面上有一个下拉列表。此下拉列表的onchange事件使用javascript / jquery调用Web服务。 webservice返回填充ANOTHER下拉列表的数据。当我这样做并尝试提交我的表单时,我收到无效的回发或回调错误。
我知道它为什么会发生,但无法弄清楚如何阻止此错误。我找到了一些关于将<pages enableEventValidation="false"/>
放入Web配置的解决方案。遗憾的是,这不是一个选择。公司不允许这样做。
解决这个问题更加棘手的是这些下降都位于控件中。不是它自己的特定aspx页面。有谁知道如何解决这个问题?
另一件让它变得棘手的事情是我不知道控件的ID是什么。我们在这里使用一个框架,它在控件添加到页面时添加了一些奇怪的错误ID。鉴于所有这些限制,这个错误是否可以避免?
谢谢!
答案 0 :(得分:2)
我也遇到过这个问题并尝试了多个站点中提到的所有不同的解决方案,但没有任何效果。
最后,我追踪了控件,这是导致问题的下拉列表。问题在于用于填充它的数据。我正在从数据库中读取行,问题是桌子上的一行有一个carraige返回。删除后,它解决了我的问题。
希望这有助于某人。
答案 1 :(得分:0)
您是否考虑过将第二个DropDownList
动态填充为基本HTML select
列表,而不是使用asp:DropDownList
?然后,您可以手动检查已发布的值服务器端,但您必须处理任何PostBack
刷新。
要解决有关控件的另一点,如果您使用的是asp:DropDownList
,那么这不是一个真正的问题。您可以使用以下代码将ClientID
嵌入到javascript中:
$('#<%= yourDDL.ClientID %>')
或者您可以为它分配一个唯一的类并在JQuery中使用类选择器:
$('.yourUniqueClassForTheDDL')
希望有所帮助。如果没有,请发表评论:)