ASP.NET的Dropdownlist在IE 10中不触发onselectedIndexChanged事件

3

我有一个简单的(没有ajax,也没有update panels)Asp.net应用程序,其中包含一个带有服务器端DropdownList控件的表单。在除IE 10之外的所有浏览器中都可以正常工作,但DropdownList在IE 10中不会触发OnSelectedIndexChanged事件。如果我在IE 10中启用兼容性视图,则它会再次正常工作。但是我无法让它在IE 10的普通模式下工作。

我阅读了 .NET DropDownList SelectedIndexChange Event Not Firing in IE 10 及其答案中的链接。但是目前还没有任何帮助。是否有其他人遇到过这个问题?


我有一个并且它运行良好,你在触发什么?它在低版本中的表现如何? - DiederikEEn
你可以放上你的代码吗? - Mayur Borad
你能贴出你的代码片段吗? - Neeraj Dubey
2个回答

4

是的,它不能工作...... 这是IE10的缺点。

要使其正常工作,您需要通过在App_Browser文件夹中添加一个文件“ie.browser”来让您的应用程序与IE10兼容... 看看这里


就像我在问题中所说的那样,我确实通过我在问题中提到的链接访问到了该页面。我安装了 Scott 建议的热补丁,但并没有起作用。现在我自己拿这些原始文件进行了替换,现在可以看到它正常工作了。谢谢! - Codie
1
对于我在IE11中,以下解决方案有效: https://dev59.com/nGIj5IYBdhLWcg3wkl2U#20422240 它也类似于您提供的HotFix。 - Syed Mohamed

0
问题在于ASP.NET浏览器定义无法识别IE10,因此它会默认使用下一级别的定义,这会带来某些不便之处,例如不支持JavaScript等功能。
除了机器范围的热修复或站点级别的App_Browser解决方案外,另一种方法是在代码后台中的Page_Init方法中添加Page.ClientTarget = "uplevel"。
示例:
private void Page_Init(object sender, EventArgs e)
{
    Page.ClientTarget = "uplevel";     
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接