我一直在阅读很多博客文章,提供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浏览器中的行为不同?
欢迎任何建议/帮助。
答案 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
简而言之:
正在解析HTML文件
脚本正在执行
执行脚本尝试(添加或删除)标记树中未关闭祖先的元素(不包括脚本元素的直接父级)
好消息是IE8中部分修复了。
答案 2 :(得分:0)
我理解为什么会发生错误。但是,我不认为自己在做那样的事情。我的转发器没有启用viewstate,我只是使用该集合进行新的重新绑定。
转发器数据绑定如何与动态附加内容相对应?