为什么ASP.NET会导致IE7中的“Operation Aborted”错误?

时间:2008-11-05 20:42:50

标签: javascript asp.net internet-explorer

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

让我详细解释一下。

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

在其中一个网页中,我让用户在一组ComponentOne Web输入控件中输入输入,然后将其添加到集合中。该系列必须与转发器绑定,每次收集新条目时,转发器都会反弹。如果用户从转发器中删除条目(使用命令按钮),则会更新集合并反弹到转发器。

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

这些用户的IE7除了Adobe PDF和Google工具栏之外没有第三方附加组件。 FireFox或Google Chrome中不会出现此错误。它也不会出现在IE8 Beta 2中。

当我或我的开发人员试图在我们的机器上使用IE7复制错误时,我们就是不能这样做。无论我们尝试什么,我们都不会得到那个错误。

我也尝试过IE6并且没有收到错误。

IE7版本全部相同。

不确定如何解决此问题。所有博客文章,论坛帖子都谈论JavaScript和改变身体元素,但不确定这对我是如何适用的,即使它确实如此,为什么两个IE7浏览器中的行为不同?

欢迎任何建议/帮助。

3 个答案:

答案 0 :(得分:6)

您的收藏和装订的复杂性引入了竞争条件

操作已中止错误是一个模糊的IE错误,在页面加载完成之前附加DOM时会发生错误。

操作中止错误

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

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

顺便提一下,如果您在前端有一些缓存资源,或者加载速度更快,那么在您的开发环境中重现条件可能会更难 (可在本地网络上使用),这可以解释您在查看错误时遇到问题的原因。

答案 1 :(得分:0)

请参阅此处的错误报告:

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

简而言之:

  1. 正在解析HTML文件

  2. 脚本正在执行

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

  4. 好消息是IE8中部分修复了。

答案 2 :(得分:0)

我理解为什么会发生错误。但是,我不认为自己在做那样的事情。我的转发器没有启用viewstate,我只是使用该集合进行新的重新绑定。

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