I am making a form and at the end of the form there is a save btn that should save data into database and redirect the page the same page that the form is in. Well its not working.
simply speaking its just
Response.Redirect("samepage.aspx");
I know it should work, but all what i get is "Internet Explorer cannot display the webpage"
anyone knows whats going on here!!
anyway thanks for helping inadvance.

??

Usually in ASP.NET you don't cross post to different pages like in the classic ASP days. With ASP.NET the form POSTS to itself by default. So you don't need a re-direct unless you need to go to a different aspx page or resource. In fact re-directing to the same page is a very bad thing to do because it will cause a double request to the server for the same page !

browser -> requests samepage.aspx (POST)
server -> processes POST, hits the re-direct and sends browser a re-direct message
browser -> requests samepage.aspx (GET)
server -> supplies page

Instead of

browser -> requests samepage.aspx (POST)
server -> processes POST, supplies page.


Your error suggests to me you have misspelled the page name, or the page is in a sub/parent path.

Thanks hollystyles for helping, but its not spelling mistake and the page is in the same directory. All what I wanted to do is to make the form reappear with empty fields?
Well I thought of something.
I can remove the redirecting, the page will reappear, but the fields are not empty.
I can make them empty manually, by giving the text fields empty strings.
I am not sure if this is a proffesional way!!??
Any suggestions.

You can disable viewstate for the page so the controls don't keep their values between postbacks.
or

After having saved to the database
Just itertate the controls and set their property .Text = String.Empty; in the code.

hiii,well u can clear the textboxes on the click of the save button
like: TextBox1.text="";
if the insert query is properly fired thn u can use the above code..for e.g.

private void Button1_Click(object sender, System.EventArgs e)
{
create a connection///
try{
sql command ins = new sql command("insert statement......")

    if (ins.ExecuteNonQuery()>0)
       {
                 textbox1.text="";
       }
else{......}
}
catch{......}

}

try it, hope it wil wrk for u

Edited 3 Years Ago by happygeek: fixed formatting

This article has been dead for over six months. Start a new discussion instead.