views:

1054

answers:

3

I have been reading lots of blog posts offering cause and solution to the "Operation Aborted" error in IE. I recently built an application that is getting this error for some of ther users, some of the time.

Let me explain in detail.

The application is .NET 2.0, ASP .NET and C# web application built in VS 2008. It uses ComponentOne web controls along with standard Visual Studio controls.

In one of the web pages I am letting users type input in a set of ComponentOne Web input controls which then get added to a collection. The collection is bound to repeater and everytime a new entry is made in collection, repeater is rebound. If users delete entry from repeater (using command button), collection is updated and rebound to repeater.

When the application was submitted to end users for testing, a couple of them complained that they were getting "Operation Aborted" error when viewing or working on this page. It will sometime occur the moment user tries to load the page and other times when they are adding/dropping items to the collection.

Those users have IE7 with no third party add-ons other than Adobe PDF and Google Toolbar. The error doesn't occur in FireFox or Google Chrome. It also doesn't occur in IE8 Beta 2.

When I or my fellow developer try to replicate the error using IE7 on our machines, we just can't do that. No matter what we try, we don't get that error.

I also tried IE6 and don't get the error.

The IE7 version are same all across.

Not sure how to go about solving this problem. All the blog posts, forum post talk about JavaScript and altering body elements but not sure how this applies to me and even if it does, why the behavior different in two IE7 browsers?

Any suggestions/help is welcome.

+4  A: 

The intricacies of your collection and bindings have introduced a race condition.

The Operation Aborted error is an obscure IE bug, which occurs when the DOM is appended before the page is finished loading.

The Operation Aborted Error

Refer to this question: What is the Operation Aborted error in Internet Explorer?

This isn't intrinsically an asp.net problem, but, in your case, asp.net is failing to control the order of execution, due to the way you've written the databind. In other words, depending on the order in which resources load and execute (which current is not being controlled), the condition exists.

Incidentally, it may be harder to reproduce the condition in your development environment if you have some of these resources cached on the front end, or if they load more quickly (being available on a local network), which would explain why you're having trouble seeing the error.

keparo
A: 

See bug report here:

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

in short:

  1. The HTML file is being parsed

  2. script is executing

  3. The executing script attempts to (add or remove) an element from an unclosed ancestor in the markup tree (excluding immediate parent of the script element)

The good news is that this is partially fixed in IE8.

scunliffe
A: 

I understand why the error could occur. However, I don't see myself doing anything like that. My repeater doesn't have viewstate enabled and I am just doing a fresh rebinding using the collection.

How does a repeater databind correspond with appending something dynamically?

The framework is responsible. It's executing a way in which this condition exists, depending on when resources load.
keparo