Thanks for the additional info. It is still unclear why you need a PostBack in code-behind since the purpose of a PostBack is to submit a form for processing to your code. If you already have access to the form data, couldn't you just do the processing right there. Maybe I just need some more caffeine. ;-)
Here's a technique I use for communicating information to the user while a postback that is expected to take long is being processed:
A) Attach a Javascript onClick() event to the submit button. The button does three things:
1) Disable the button so the user cannot click on it again by setting the enabled property of the button to false.
2) Use window.open to display an HTML page with an animated graphic (a clock, progress bar or something similar)
3) Call document.forms[0].submit() to actually submit the form so the postback handler can do its thing.
This process is simple and does not require any redirects. When the page loads, if can close the open window.
If you want to display actual progress, you can even have the image URL of the animated image in the HTML page set to another aspx page which reads a cache value (updated periodically by the long process) and displays a progress bar of the appropriate length. You'll need to have a meta refresh tag on the HTML page set to a couple of seconds so the progress animation works in near real-time.
Sorry, not much help in answering your actual question but hopefully the above technique can be used to create a simpler solution.
Nik
Nik Kalyani
Speerio, Inc.
[DotNetNuke and ASP.Net solutions
here]