我有一个包含下拉菜单的 asp:Updatepanel
,我在下拉菜单的 onchange
事件上运行了一些 Javascript。我还在下拉列表的 selectedindexchanged
上触发了一些服务器端代码。
这在 IE 中工作正常,但在 Firefox 中,永远不会调用 selectedindexchanged
事件。
我认为这可能与 onchange
和 selectedindexchanged
冲突有关,但是,我找不到解决这个问题的方法。
最佳答案
我同意这里的其他一些海报。 IE、Chrome 和 FF 似乎使用客户端和服务器端事件处理程序以不同方式处理服务器端控件。根据我的经验,有时他们会等待客户端 JavaScript 结束,然后执行回发以处理服务器端……但情况并非总是如此。
我总是转向的解决方案:
继续并仅在您的 DropDownList 上设置 onChange() 事件...然后在您的 JavaScript 中,使用类似
的东西手动强制回发__doPostBack('<%= DropDownList.ClientID %>', '');
使您的页面使用该控件进行回发的语法。在您的服务器端代码中,您可以只查询 DropDownList 的当前索引值,并执行您想要的任何处理...UpdatePanel 应该可以完美地处理这种情况...
关于ASP.NET DropDown SelectedIndexChanged 没有在带有 UpdatePanel 的 Firefox 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1841158/