468,253 Members | 1,302 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,253 developers. It's quick & easy.

Preventing multiple form submissions (multiple postbacks)

Hi-

I am developing an ASP.NET application that can take a few seconds to
process the request from the user. We are looking for a client-side
solution that will prevent users from resubmitting the page multiple
time in their irrational impatience.

There are a few posts on this group which suggest that we use
JavaScript hooked up to the page's OnSubmit event to catch mulitple
submissions. See postings by Craig Deelsnyder et alia.

But, and here is the catch... The OnSumbit event only gets called if
the user clicks a Submit button. And unfortunately we have an
application with dozens of pages, but nary a single Submit button. We
use linkbuttons hooked up to events pretty much everywhere to do our
saving (which seems to be standard practice) and linkbuttons do not
trigger OnSubmit.

Any suggestions on how to popup a "We are working on your request,
please stop clicking" dialog?

Diane "America's Developer" Selby
Nov 18 '05 #1
4 4642
onclick ?
"Diane Selby" <so*************@yahoo.com> wrote in message
news:29**************************@posting.google.c om...
Hi-

I am developing an ASP.NET application that can take a few seconds to
process the request from the user. We are looking for a client-side
solution that will prevent users from resubmitting the page multiple
time in their irrational impatience.

There are a few posts on this group which suggest that we use
JavaScript hooked up to the page's OnSubmit event to catch mulitple
submissions. See postings by Craig Deelsnyder et alia.

But, and here is the catch... The OnSumbit event only gets called if
the user clicks a Submit button. And unfortunately we have an
application with dozens of pages, but nary a single Submit button. We
use linkbuttons hooked up to events pretty much everywhere to do our
saving (which seems to be standard practice) and linkbuttons do not
trigger OnSubmit.

Any suggestions on how to popup a "We are working on your request,
please stop clicking" dialog?

Diane "America's Developer" Selby

Nov 18 '05 #2
What you need to do is redirect to another page when the user clicks the
button. This way the client immediately sees a "please wait" page.

Place this when the button is clicked:

Response.Redirect("Loading.Aspx?Page="TheFinishedP age.aspx")


What this does is this:

The Loading.aspx page gets called and will be loaded on the client, and the
client will sit there until the code in TheFinishedPage.aspx has completed
executing. When TheFinishedPage.aspx completes, the client is sent to that
page, where you can display some kind of confirmation message, etc.

You must, however, use session variables or something else like a db to
store the information from the page you are transferring from so that
TheFinishedPage.aspx will know what to do.

It's a convenient way to have a message like "Loading. Please Wait..." so
that the user cannot click any more controls that will post back to the
server.

Steve
"Diane Selby" <so*************@yahoo.com> wrote in message
news:29**************************@posting.google.c om...
Hi-

I am developing an ASP.NET application that can take a few seconds to
process the request from the user. We are looking for a client-side
solution that will prevent users from resubmitting the page multiple
time in their irrational impatience.

There are a few posts on this group which suggest that we use
JavaScript hooked up to the page's OnSubmit event to catch mulitple
submissions. See postings by Craig Deelsnyder et alia.

But, and here is the catch... The OnSumbit event only gets called if
the user clicks a Submit button. And unfortunately we have an
application with dozens of pages, but nary a single Submit button. We
use linkbuttons hooked up to events pretty much everywhere to do our
saving (which seems to be standard practice) and linkbuttons do not
trigger OnSubmit.

Any suggestions on how to popup a "We are working on your request,
please stop clicking" dialog?

Diane "America's Developer" Selby

Nov 18 '05 #3
Steve-

Redirecting to another page is a solution, but maybe not the solution
we are looking for. In most cases, we want to display the same page
after the button click. So, heading off to a "please wait" page and
then back to the original page would be a bit bewildering for the
user. I could see lots of complaints about that...

What I'm dreaming of is a JavaScript client side method that will pop
up an alert if the user clicks the button more than once before the
results return. We may have to wire up a script to each button, but
I'd rather have something that would work on a page level somehow...

Anyhow, if anyone has something they can suggest, that would be fresh,
yo!

DD
"Steve Caliendo" <sc*******@epion.com> wrote in message news:<eV**************@TK2MSFTNGP10.phx.gbl>...
What you need to do is redirect to another page when the user clicks the
button. This way the client immediately sees a "please wait" page.

Place this when the button is clicked:

Response.Redirect("Loading.Aspx?Page="TheFinishedP age.aspx")


What this does is this:

The Loading.aspx page gets called and will be loaded on the client, and the
client will sit there until the code in TheFinishedPage.aspx has completed
executing. When TheFinishedPage.aspx completes, the client is sent to that
page, where you can display some kind of confirmation message, etc.

You must, however, use session variables or something else like a db to
store the information from the page you are transferring from so that
TheFinishedPage.aspx will know what to do.

It's a convenient way to have a message like "Loading. Please Wait..." so
that the user cannot click any more controls that will post back to the
server.

Steve
"Diane Selby" <so*************@yahoo.com> wrote in message
news:29**************************@posting.google.c om...
Hi-

I am developing an ASP.NET application that can take a few seconds to
process the request from the user. We are looking for a client-side
solution that will prevent users from resubmitting the page multiple
time in their irrational impatience.

There are a few posts on this group which suggest that we use
JavaScript hooked up to the page's OnSubmit event to catch mulitple
submissions. See postings by Craig Deelsnyder et alia.

But, and here is the catch... The OnSumbit event only gets called if
the user clicks a Submit button. And unfortunately we have an
application with dozens of pages, but nary a single Submit button. We
use linkbuttons hooked up to events pretty much everywhere to do our
saving (which seems to be standard practice) and linkbuttons do not
trigger OnSubmit.

Any suggestions on how to popup a "We are working on your request,
please stop clicking" dialog?

Diane "America's Developer" Selby

Nov 18 '05 #4
On 25 Jun 2004 14:39:20 -0700, so*************@yahoo.com (Diane Selby)
wrote:
Steve-

Redirecting to another page is a solution, but maybe not the solution
we are looking for. In most cases, we want to display the same page
after the button click. So, heading off to a "please wait" page and
then back to the original page would be a bit bewildering for the
user. I could see lots of complaints about that...

What I'm dreaming of is a JavaScript client side method that will pop
up an alert if the user clicks the button more than once before the
results return. We may have to wire up a script to each button, but
I'd rather have something that would work on a page level somehow...

Anyhow, if anyone has something they can suggest, that would be fresh,
yo!

DD


add something like this

System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("if (typeof(Page_ClientValidate) == 'function') { ");
sb.Append("if (Page_ClientValidate() == false) { return false; }} ");
sb.Append("this.value = 'Wait...';");
sb.Append("this.disabled = true;");
sb.Append(this.Page.GetPostBackEventReference(this .<buttonname>));
sb.Append(";");
this.<buttonname>.Attributes.Add("onclick", sb.ToString());

remeber to change <buttonname> to the actual name of u're button.

-Adam

Nov 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Matt | last post: by
1 post views Thread by Adam Smith | last post: by
3 posts views Thread by Tina | last post: by
12 posts views Thread by Mark Rae | last post: by
6 posts views Thread by Oleg Konovalov | last post: by
9 posts views Thread by Ned White | last post: by
reply views Thread by NPC403 | last post: by
reply views Thread by zattat | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.