Asynchronous client script callbacks for iFrames

Posted on 2007-10-05
Last Modified: 2013-11-19
I'm have an existing ASP.NET application.
In this application i have a web page that contains an iFrame.
This iFrame displays a url link (one of many) that is stored in a text file.  i.e. the text file contains a list of many url's
for example

and on page load using StreamReader class of the .NET framework I loop through each line item of the text file. read the url and store it in a session variable. and pass the first value in the session which in this case is http://screen1.aspx to the iFrame as url to load it for the first time. Next I'm making use of a javascript postback function to reload the page and this time i'm passing the next url to the iFrame so that it now displays this url. i.e http://screen2.aspx

This works fine so far.. however i have some challenges to overcome.. namely..

1. The url to load i.e. for example:- http://screen2.aspx may takes a long time to load..
2. the url mentioned in the text file i.e. for example:- http://screen3.aspx  may not exist.
3. there may be an error in the page while loading the page. i.e. for example:- http://screen4.aspx  

So i have to come up with a different approach to do this.. this is where it gets tricky..

I need to use client callback script (i think) to do a background processing that will asynchronous load the next url i.e. http://screen2.aspx to load in a second iFrame in the background and then display it when the time comes to do so i.e. on javascript postback function without encountering problem 2 and 3 mentioned above. and if it encounters problem 2 and 3 then the background iFrame must asynchronously load the next url in line from the text file. i.e. http://screen3.aspx and so on and so forth.. So that the page displays new screens in the iFrame almost asynchronously without a need of a postback

How can i do this ???

Please help me.. any help in this direction will be greatly appreciated..
Question by:Collindsouza
    LVL 14

    Accepted Solution

    1. Use AJAX in combination with:
    2. You can check if the file exists with File.Exist(Application.PhysicalApplicationPath+"\"+new Control().ResolveClientUrl("screen3.aspx"));
    3. Implement an custom errors page in the web.config

    I think that covers all the problems you have :)
    LVL 5

    Author Comment


    Thank you for your quick reply..

    But i'm not entirely convinced that the example of codeproject is what i'm lookiing for.. because what is does is.. just disables the screen till it can load the next one.. but i dont want that.. what i want is seemless loading of the next page(url) in the iframe..

    Please help!!!
    LVL 14

    Expert Comment

    That is impossible to achieve, because you have not enough control of all variables included in websites (loading time, etc..)
    LVL 1

    Expert Comment

    Forced accept.

    EE Admin

    Featured Post

    What Should I Do With This Threat Intelligence?

    Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

    Join & Write a Comment

    Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System ( introduces the Login System and shows how to implement a login page. The EE Collaborative Logiā€¦
    Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
    Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
    The viewer will learn how to dynamically set the form action using jQuery.

    745 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now