473,396 Members | 1,743 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

beginning page load immediately on postback with a long load time ?

i have a dropdown control with autopostback=on that when selected,
posts back and populates a second dropdown. the 2nd dropdown takes a
while to load, giving the user time to start typing in other fields
before the screen refreshes. i would like to disable any user input
during this time.

I was thinking if it was possible to force the browser to begin
loading the page immediately that it would erase the controls that are
there and the user would be forced to wait (wouldn't be able to press
any buttons, type in any textboxes etc) for the page to refresh.

I started playing around with Response.Buffer/Flush but it didn't
work. Any ideas on if this is possible and if so how to get it to
work?

Thanks

Sample code:

Private Sub Dropdown1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cboBroker_Alpha.SelectedIndexChanged
' CLEAR PAGE SO USER DOESN'T HAVE TIME TO WAIT AROUND AND START
TYPING IN OTHER CONTROLS
Response.Buffer = True
Response.Flush()
(CODE THAT TAKES A LONG TIME TO RUN HERE...)
Nov 18 '05 #1
7 4501
"Mad Scientist Jr" <us*************@yahoo.com> wrote in message
news:7a**************************@posting.google.c om...
i have a dropdown control with autopostback=on that when selected,
posts back and populates a second dropdown. the 2nd dropdown takes a
while to load, giving the user time to start typing in other fields
before the screen refreshes. i would like to disable any user input
during this time.

I was thinking if it was possible to force the browser to begin
loading the page immediately that it would erase the controls that are
there and the user would be forced to wait (wouldn't be able to press
any buttons, type in any textboxes etc) for the page to refresh.

I started playing around with Response.Buffer/Flush but it didn't
work. Any ideas on if this is possible and if so how to get it to
work?


The problem is something like this:

1, User requests page.aspx
2. Server sends back html for page.aspx, including your dropdown with
autopostback on.
3. User changes selection in dropdown.
4. Page posts back to the server
5. User starts typing into the html sent back in 2.
6. Server sends back html for posted-back page.aspx, including your loaded
second dropdown, overwriting whatever the user had typed.

So you see, what you would need to do is disable the controls on the page
just before the postback begins. When the new html comes back, it will come
back with enabled controls.

This will take a bit of JavaScript in the onchange event of the dropdown.
That script would have to run through the DOM and set the disabled property
of all relevant objects to true.

Now, I can't get you an example. I needed to do this in a control once, and
had a bit of trouble with it. Only certain objects in the DOM implement the
disabled property. Also, in some cases, setting the disabled property will
disable all contained objects, but sometimes it won't and you'll have to
iterate into the child objects. Also, I seem to remember that under some
circumstances, I couldn't entirely disable an anchor object, and had to
screw with the URL instead.

Of course, another option would be to follow one of the various strategies
for producing a "Waiting..." page.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #2
you also have to control the timing of the disable to happen after postback
as disabled fields are not posted by the browser. dropdown with autopostback
also will have problems if the user uses arrow keys to access the dropdown
values (tries to post on every selection)

-- bruce (sqlwork.com)
"John Saunders" <jo**************@notcoldmail.com> wrote in message
news:uY**************@tk2msftngp13.phx.gbl...
"Mad Scientist Jr" <us*************@yahoo.com> wrote in message
news:7a**************************@posting.google.c om...
i have a dropdown control with autopostback=on that when selected,
posts back and populates a second dropdown. the 2nd dropdown takes a
while to load, giving the user time to start typing in other fields
before the screen refreshes. i would like to disable any user input
during this time.

I was thinking if it was possible to force the browser to begin
loading the page immediately that it would erase the controls that are
there and the user would be forced to wait (wouldn't be able to press
any buttons, type in any textboxes etc) for the page to refresh.

I started playing around with Response.Buffer/Flush but it didn't
work. Any ideas on if this is possible and if so how to get it to
work?
The problem is something like this:

1, User requests page.aspx
2. Server sends back html for page.aspx, including your dropdown with
autopostback on.
3. User changes selection in dropdown.
4. Page posts back to the server
5. User starts typing into the html sent back in 2.
6. Server sends back html for posted-back page.aspx, including your loaded
second dropdown, overwriting whatever the user had typed.

So you see, what you would need to do is disable the controls on the page
just before the postback begins. When the new html comes back, it will

come back with enabled controls.

This will take a bit of JavaScript in the onchange event of the dropdown.
That script would have to run through the DOM and set the disabled property of all relevant objects to true.

Now, I can't get you an example. I needed to do this in a control once, and had a bit of trouble with it. Only certain objects in the DOM implement the disabled property. Also, in some cases, setting the disabled property will
disable all contained objects, but sometimes it won't and you'll have to
iterate into the child objects. Also, I seem to remember that under some
circumstances, I couldn't entirely disable an anchor object, and had to
screw with the URL instead.

Of course, another option would be to follow one of the various strategies
for producing a "Waiting..." page.
--
John Saunders
johnwsaundersiii at hotmail

Nov 18 '05 #3
>4. Page posts back to the server

What I want to do is for the page to post some whitespace back to the
server, say a single space character, so the page in the user's browser
is temporarily blanked out, so they can't type anything. Then when the
server is done processing, it sends the postback page. Is that possible?
*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 18 '05 #4
"Emma Gumbdough" <us*************@yahoo.com> wrote in message
news:uh**************@tk2msftngp13.phx.gbl...
4. Page posts back to the server


What I want to do is for the page to post some whitespace back to the
server, say a single space character, so the page in the user's browser
is temporarily blanked out, so they can't type anything. Then when the
server is done processing, it sends the postback page. Is that possible?


Actually, no, it doesn't even make sense. The "page", in the users browser,
posts form data back to the server. The server then sends HTML back in
response.

See
Indicating Progress
http://msdn.microsoft.com/library/de...pplication.asp
for some examples on progress.
--
John Saunders
johnwsaundersiii at hotmail

Nov 18 '05 #5
Yes. And when the page posts back, the codebehind BEGINS rendering the
postback page, and flushes the buffer (which would contain some
whitespace or maybe the header). The client then has a partial response
in their browser (this will probably appear as a blank screen) and thus
cannot type in any fields until the entire page loads. The server then
continues to process and sends the remaining response to the client, at
which point they can type again.


*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 18 '05 #6
"Emma Gumbdough" <us*************@yahoo.com> wrote in message
news:ek**************@TK2MSFTNGP12.phx.gbl...
Yes. And when the page posts back, the codebehind BEGINS rendering the
postback page, and flushes the buffer (which would contain some
whitespace or maybe the header). The client then has a partial response
in their browser (this will probably appear as a blank screen) and thus
cannot type in any fields until the entire page loads. The server then
continues to process and sends the remaining response to the client, at
which point they can type again.


I wouldn't count on TCP/IP to be deterministic, even in the presence of a
Flush call. If you want to make sure they don't type anything, you need to
handle it on the client. You don't even have control over how much time
passes after the user changes selection in the dropdown and before Page_Load
starts.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #7
I ended up just putting the slow dropdowns on a different screen.

The 'waiting' page idea sounded good but how would it be implemented -
as a popup? Can the main page be given a RegisterStartupScript or
register client side script that would be able to automatically close
the popup (assuming it is a child of that browser) upon completion of
loading?
you also have to control the timing of the disable to happen after

postback as disabled fields are not posted by the browser

*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 18 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Workgroups | last post by:
I've got a page where the nature of the beast is such that the user clicks a submit button to ransomize some data in somewhat rapid succession (once per second, give or take). The page generates a...
1
by: szabelin | last post by:
Hello, what is the page directive (was it meta something?) that causes page go call the server at predefined intervals? I used to have a link to sample code but it's broken now. thanks
2
by: Sam | last post by:
I have a custom control (MyTextBox - taken from Microsoft website) that implements the IPostBackDataHandler interface. It is added to the controls collection of a placeholder control during the...
2
by: John Lau | last post by:
Hi, Is there documentation that talks about the page lifecycle, the lifecycle of controls on the page, and the rendering of inline code, in a single document? Thanks, John
5
by: DCC-700 | last post by:
I am using ASP.Net with VB on the 1.1 Framework running on Win XP Pro. I am trying to gauge the time it takes to sort a datagrid using different code sets. But when I am debugging the page there...
10
by: Tim_Mac | last post by:
hi, i would like to display a discreet message on all my pages indicating how long the server took to render the page. full tracing is not an option because it would freak out my non-technical...
3
by: Nathan Sokalski | last post by:
I am recieving the following error on the second postback of a page I have written: The state information is invalid for this page and might be corrupted Stack Trace: ...
14
by: lmttag | last post by:
Hello. We're developing an ASP.NET 2.0 (C#) application and we're trying to AJAX-enable it. We're having problem with a page not showing the page while a long-running process is executing. So,...
4
by: Mantorok | last post by:
Hi ASP.Net v2.0 I have a page and, depending on circumstances, it can sometimes take between 10-30 seconds to load, this is due to a dependency on a 3rd party web-service that is very slow.....
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.