【问题标题】:Why does ASP.NET cause the "Operation Aborted" Error in IE7?为什么 ASP.NET 在 IE7 中会导致“操作中止”错误?
【发布时间】:2008-11-05 20:42:49
【问题描述】:

我一直在阅读许多博客文章,这些文章提供了 IE 中“操作中止”错误的原因和解决方案。我最近构建了一个应用程序,它有时会为其他一些用户收到此错误。

让我详细解释一下。

该应用程序是 VS 2008 中构建的 .NET 2.0、ASP .NET 和 C# Web 应用程序。它使用 ComponentOne Web 控件和标准 Visual Studio 控件。

在其中一个网页中,我让用户在一组 ComponentOne Web 输入控件中输入输入,然后将这些控件添加到集合中。集合绑定到转发器,每次在集合中创建新条目时,转发器就会反弹。如果用户从转发器中删除条目(使用命令按钮),集合会更新并重新绑定到转发器。

当应用程序提交给最终用户进行测试时,其中一些人抱怨他们在查看或处理此页面时遇到“操作中止”错误。有时会在用户尝试加载页面时发生,有时会在用户向集合中添加/删除项目时发生。

这些用户的 IE7 没有除 Adob​​e PDF 和 Google 工具栏以外的第三方插件。该错误不会在 FireFox 或 Google Chrome 中发生。它也不会出现在 IE8 Beta 2 中。

当我或我的开发伙伴尝试在我们的机器上使用 IE7 复制错误时,我们就是做不到。无论我们尝试什么,都不会出现该错误。

我也尝试过 IE6,但没有收到错误。

IE7版本全都一样。

不知道如何解决这个问题。所有的博客文章、论坛文章都在谈论 JavaScript 和更改正文元素,但不确定这对我有什么影响,即使有,为什么两个 IE7 浏览器的行为不同?

欢迎任何建议/帮助。

【问题讨论】:

    标签: javascript asp.net internet-explorer


    【解决方案1】:

    您的集合和绑定的复杂性引入了竞态条件

    Operation Aborted 错误是一个不起眼的 IE 错误,在页面完成加载之前附加 DOM 时发生。

    操作中止错误

    参考这个问题: What is the Operation Aborted error in Internet Explorer?

    这本质上不是 asp.net 问题,但在您的情况下,由于您编写数据绑定的方式,asp.net 无法控制执行顺序。换句话说,取决于资源加载和执行的顺序(哪个电流不受控制),条件存在。

    顺便说一句,如果您在前端缓存这些资源中的一些,或者如果它们加载速度更快,则可能更难重现您的开发环境中的条件(在本地网络上可用),这可以解释为什么您无法看到错误。

    【讨论】:

      【解决方案2】:

      在此处查看错误报告:

      http://webbugtrack.blogspot.com/2008/08/bug-404-operation-aborted-in-ie.html

      简而言之:

      1. 正在解析 HTML 文件

      2. 脚本正在执行

      3. 正在执行的脚本尝试(添加或删除)标记树中未闭合祖先的元素(不包括脚本元素的直接父元素)

      好消息是这在 IE8 中部分修复了。

      【讨论】:

        【解决方案3】:

        我明白为什么会发生错误。但是,我不认为自己会做那样的事情。我的转发器没有启用视图状态,我只是在使用集合重新绑定。

        转发器数据绑定如何与动态追加内容相对应?

        【讨论】:

        • 框架负责。它正在执行这种情况存在的方式,具体取决于资源加载的时间。
        猜你喜欢
        • 1970-01-01
        • 2014-08-14
        • 2023-03-03
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-30
        • 2011-06-25
        相关资源
        最近更新 更多