asp.net - __doPostBack 在 IE11 中未定义

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

使用现成的 asp HyperLink 控件,IE 11 会给出错误 SCRIPT5009: __doPostBack 未定义,并带有指向此处的链接: http://msdn.microsoft.com/en-us/library/ie/xyf5fs0y(v=vs.94).aspx

这可以在 F12 开发工具控制台窗口中看到。

有人遇到过这个问题吗?有解决办法吗?这是生产环境。

编辑: 应用修补程序 http://support.microsoft.com/kb/2600088对我来说不起作用,Windows 8 上的 IE 10 工作正常。

斯科特·汉塞尔曼 (Scott Hanselman) 最近发表了一篇文章,其中包含更新的信息。 http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx我将尝试这些修复并更新此问题,但这似乎与 Windows 8.1 和 IE11 无关。

最佳答案

在同一问题上苦苦挣扎了几天后,我们找到了这个解决方案:

http://connect.microsoft.com/VisualStudio/feedback/details/806542/fix-internet-explorer-11-not-detected-correctly-by-net-4-0-framework-when-custom-browser-files-are-used .

将新的.browser文件添加到App_Browsers文件夹中;我们将文件命名为“IE11.browser”,如果 App_Browsers 文件夹不存在,则创建它。

然后,我们只需将上面链接中的正文复制到新创建的文件中,重新部署,现在就不再有 _doPostBack 错误了。

文件正文如下所示:

<browsers>
<browser id="IE11" parentID="Mozilla">
  <identification>
    <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
    <userAgent nonMatch="IEMobile" />
  </identification>
  <capture>
    <userAgent match="Trident/(?'layoutVersion'\d+)" />
  </capture>
  <capabilities>
    <capability name="browser"             value="IE" />
    <capability name="layoutEngine"         value="Trident" />
    <capability name="layoutEngineVersion" value="${layoutVersion}" />
    <capability name="extra"                value="${extra}" />
    <capability name="isColor"             value="true" />
    <capability name="letters"             value="${letters}" />
    <capability name="majorversion"         value="${major}" />
    <capability name="minorversion"         value="${minor}" />
    <capability name="screenBitDepth"     value="8" />
    <capability name="type"                 value="IE${major}" />
    <capability name="version"             value="${version}" />
  </capabilities>
</browser>

<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
<browser id="IE110" parentID="IE11">
  <identification>
    <capability name="majorversion" match="11" />
  </identification>

  <capabilities>
    <capability name="ecmascriptversion"    value="3.0" />
    <capability name="jscriptversion"     value="5.6" />
    <capability name="javascript"         value="true" />
    <capability name="javascriptversion"    value="1.5" />
    <capability name="msdomversion"         value="${majorversion}.${minorversion}" />
    <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" />
  </capabilities>
</browser>
</browsers>

我们不必将 .Net 版本从 4 升级到 4.5,现在一切都正常工作。

希望这可以帮助遇到同样令人沮丧问题的人!

关于asp.net - __doPostBack 在 IE11 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915720/

相关文章:

asp.net - 如何访问 Iframe 的父页面元素

asp.net - WebMatrix、ASP.NET Razor、IIS Developer Express、SQL Server Compact Edition - 这些新技术背后的 Microsoft 目标是什么?

cmd - 当只有两个参数时,使用 "setx"的语法无效,因为有两个以上的参数

xaml - 在 Windows 8.1 存储 XAML 中添加新项目后,ListView.ContainerFromItem 返回 null

Silverlight 与 W8/W8.1/WP8/WP8.1

javascript - 对象迭代时 eval() 不工作

asp.net - 如何在运行时在 ASP.NET 网页上多次添加用户控件

c# - 如何从数据库重新加载相同的值

javascript - IE11 XMLHttpRequest 性能真的很慢

javascript - 如何使用 javascript 或 PHP 将 IE 11 企业模式设置为标准模式?