我有一个 .net 表单,它有一个自动回发的下拉列表。大多数时候一切都很好,我明白了:
<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ProvinceDropDown\',\'\')', 0)" id="ctl00_ProvinceDropDown">
但有时(我会在一秒钟内了解情况)我得到这个:
<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" id="ctl00_ProvinceDropDown">
请注意没有执行自动回发的 javascript。
问题发生的唯一时间是在 IE10 上。其他所有浏览器都很好。IE9 浏览器模式或 IE10 兼容模式下的 IE10 也可以。
显然,这感觉就像.Net 没有正确识别 IE10。我知道这个修补程序:
http://support.microsoft.com/kb/2600100
但:
a) 我没有得到那些确切的症状,我没有得到“_doPostBack 未定义”。.net 代码根本不生成 javascript 调用。
b)我有另一个沙盒主机,当我将代码移到那里时,一切都很好,即使是 IE10。此主机没有修补程序,并且具有与其他主机相同的 .net 版本(2.0 SP2、3.0 SP2、3.5 SP1)。
ie.browser 文件在两台主机上也有相同的内容,正则表达式行仍然是旧的,据说没有正确检测到 IE10。
<capability name="majorversion" match="^[5-9]" />
有任何想法吗?