Re: Preventing multiple form submissions (multiple postbacks)

From: Diane Selby (solenoidpowered_at_yahoo.com)
Date: 06/25/04


Date: 25 Jun 2004 14:39:20 -0700

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" <scaliendo@epion.com> wrote in message news:<eVfru$iWEHA.1128@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="TheFinishedPage.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" <solenoidpowered@yahoo.com> wrote in message
> news:29d24526.0406241104.58bd5148@posting.google.com...
> > 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