我们有ASP.NET应用程序,目前我们正在Windows 8.1 / IE 11上对此进行兼容性测试。发现了一些与UI对齐,_dopostback和imagebutton点击相关的问题。以前也遇到过与Windows 8 / IE 10相同的问题。通过在项目的app_browser文件夹中添加IE浏览器文件来解决这些问题。 但是我们还没有找到任何支持IE 11的ie.browser最新文件。从一些博客开始知道热门修复程序可以解决这个问题。通过在托管计算机中安装热修复程序,_dopostback和UI对齐问题得到解决。图像按钮单击仍无法正常工作。
答案 0 :(得分:4)
我们现在还无法全面升级到4.5。但我能够创建自己的ie.browser浏览器定义文件(适用于4.0)。
在您的项目中,添加(或创建为)App_Browsers / ie.browser,以下内容:
<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko -->
<browser id="IE11Preview" parentID="Mozilla">
<identification>
<userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
<userAgent nonMatch="MSIE" />
</identification>
<capabilities>
<capability name="browser" value="IE" />
<capability name="layoutEngine" value="Trident" />
<capability name="layoutEngineVersion" value="${layoutVersion}" />
<capability name="isColor" value="true" />
<capability name="screenBitDepth" value="8" />
<capability name="ecmascriptversion" value="3.0" />
<capability name="jscriptversion" value="6.0" />
<capability name="javascript" value="true" />
<capability name="javascriptversion" value="1.5" />
<capability name="w3cdomversion" value="1.0" />
<capability name="ExchangeOmaSupported" value="true" />
<capability name="activexcontrols" value="true" />
<capability name="backgroundsounds" value="true" />
<capability name="cookies" value="true" />
<capability name="frames" value="true" />
<capability name="javaapplets" value="true" />
<capability name="supportsCallback" value="true" />
<capability name="supportsFileUpload" value="true" />
<capability name="supportsMultilineTextBoxDisplay" value="true" />
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
<capability name="supportsVCard" value="true" />
<capability name="supportsXmlHttp" value="true" />
<capability name="tables" value="true" />
<capability name="supportsAccessKeyAttribute" value="true" />
<capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
<capability name="vbscript" value="true" />
<capability name="revmajor" value="${major}" />
<capability name="revminor" value="${minor}" />
</capabilities>
</browser>
如果您要添加到现有文件,请查找id =“IE10Plus” - 您可能需要将其更改为id =“IE10”,因为“加号”部分不再准确。
如果你可以去4.5做,但如果你做不到,这可能会让你持有,直到你可以。任何补丁(或升级 - 如4.5)都会覆盖这个 - 仅供参考......
答案 1 :(得分:4)
这是ASP.NET 4.0的修补程序:
http://support.microsoft.com/kb/2836939/en-us
当然,我们都在讨论这个...令人惊讶的是,MSft甚至没有想过在它发布之前测试IE11对抗Asp.Net 4.0,这可能与大麻最近合法化的事实有关。华盛顿州。
将浏览器设置为IE10也可以(假设还安装了.NET 4.0的IE10修补程序)。
相关更改:此处是有关ie11中用户代理更改的信息。希望你不依赖于驱动用户代理字符串的东西,但我相信ASP.NET上层/下层逻辑仍然在4.0和之前使用它(通过将UA设置为IE10与具有.net4.0 / ie11的服务器确认问题),但4.5据说有不同的做法(见http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx)。
http://msdn.microsoft.com/en-us/library/ie/bg182625(v=vs.85).aspx
答案 2 :(得分:3)
在服务器上安装.NET 4.5。它使用较新版本覆盖ASP.NET程序集,其中已解决已知图像按钮单击问题。
我们已经通过修补程序解决了这个问题,但是最终安装.NET 4.5作为我们的解决方案。
答案 3 :(得分:0)
就我而言,解决方案更简单: