Page Reload After Back Button - Submit Form Twice - Please Help

F

Frawls

Hi


Can any one give me some help with this problem please?


Here is the scenario:


A user submits page 1 which is a web form.


After the form has been submitted they are (redirected) onto the next
page, page 2.


The user then clicks back on the browser.


They are now back in page 1


If the user clicks the continue button on page 1 this time the page
just reloads and the user has to click submit again to get to page 2.


In other words after clicking the back button the user has to submit
the form twice. (the first time it does not get submitted the page just

reloads)


Is this a known issue? Can anyone tell me what is causing it and how to

rectify or fix it??


Any help would be greatly appreciated.


Here is the c# code for the page load and also the code for the submit
button:


private void Page_Load(object sender, System.EventArgs e)
{
if(Session["Complete"] == null || Session["Complete"].ToString()
!="complete")
{
Response.Redirect(NormUrl);



}


if(!Page.IsPostBack)
{

bttnContinue.ImageUrl = "Images/Bttn_Continu.gif";


ctrlAddress.PopulateDD();
ctrlAddress.PopulateY();
ctrlAddress.PopulateM();
ctrlAddress.PopulateT();


}


else
{
if(Session["_ViewState"] == null)
{
ctrlAddress.PopulateDD();
ctrlAddress.PopulateY();
ctrlAddress.PopulateM();
ctrlAddress.PopulateT();
}


}
}


private void bttnContinue_Click(object sender,
System.Web.UI.ImageClickEventA­rgs e)
{
string str1Complete = "complete";

ClearErrors();


ctrlAddress.ReadFields();
ctrlAddress.ClearErrors();


bool bOk = ctrlAddress.ValidateFields();
bool bOk1 = ctrlAddress.ValidateAmountYear­s();


if(bOk == true && bOk1 == true)
{


ctrlAddress.CreateSessionVaria­bles();


Session["1Complete"] = str1Complete;


Response.Redirect("2.aspx");


}


if(bOk == true && bOk1 == false)
{


ctrlAddressDetails.CreateSessi­onVariables();


Session["1Complete"] = str1Complete;


Response.Redirect("1a.aspx");


}


else
divOrderError.InnerHtml = "Blah.";
divOrderError2.InnerHtml = "blah.";


return;
 
J

Joerg Jooss

Frawls said:
Hi


Can any one give me some help with this problem please?


Here is the scenario:


A user submits page 1 which is a web form.


After the form has been submitted they are (redirected) onto the next
page, page 2.


The user then clicks back on the browser.


They are now back in page 1


If the user clicks the continue button on page 1 this time the page
just reloads and the user has to click submit again to get to page 2.

What is the "continue" button?
In other words after clicking the back button the user has to submit
the form twice. (the first time it does not get submitted the page
just

reloads)


Is this a known issue? Can anyone tell me what is causing it and how
to

rectify or fix it??

I'm not sure I understand your problem, but to me it seems as though
you've just discovered redirect-after-post. What happens is that in the
browser history, only the final request/response of a redirect chain is
saved.
In your case, it looks like this:
POST /p1.aspx --> 302 Found Location: /p2.aspx
GET /p2.aspx --> 200 OK

The browser only saves the last GET in its history. Thus, the POST is
never resubmitted by the browser when pressing refresh or back, which
is the reason why this pattern is actually quite useful ;-)

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top