Windows 8.1 / IE 11浏览器的ASP.NET网站问题

时间:2013-08-30 06:25:22

标签: asp.net windows-8.1 internet-explorer-11

我们有ASP.NET应用程序,目前我们正在Windows 8.1 / IE 11上对此进行兼容性测试。发现了一些与UI对齐,_dopostback和imagebutton点击相关的问题。以前也遇到过与Windows 8 / IE 10相同的问题。通过在项目的app_browser文件夹中添加IE浏览器文件来解决这些问题。 但是我们还没有找到任何支持IE 11的ie.browser最新文件。从一些博客开始知道热门修复程序可以解决这个问题。通过在托管计算机中安装热修复程序,_dopostback和UI对齐问题得到解决。图像按钮单击仍无法正常工作。

4 个答案:

答案 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)

就我而言,解决方案更简单:

  1. 在Windows 8上打开IE11
  2. 单击“Internet选项”
  3. 点击安全
  4. 转到Scripting目录(位于列表末尾)
  5. 点击“脚本”&gt;“活动脚本”
  6. 上的“启用”单选按钮