kitesurf
asked on
Why onClick response.redirect to same page do isPostBack on PageLoad equal false?
Why onClick response.redirect to same page do isPostBack on PageLoad equal false? How do i make it equal true? thanks.
it seems autopostback=true works on the first page load after onclick button, but at the end of code after page redirect to same page, page load starts again with is postback false.
it seems autopostback=true works on the first page load after onclick button, but at the end of code after page redirect to same page, page load starts again with is postback false.
because it's not a postback. instead it triggers an HTTP GET from the browser. Not a POST. to make it equal to true you'll have to make a POST. so don't do a response.redirect. simply let the form submit itself which is the default behavior.
If you really want to do the PostBack from the same page, do a trick like this. But it will work.
First redirect to a temporary page. (something like 'Redirect.aspx')
Then in the pageload of that page, write code to redirect to your actual page (previous page)
Regards
Raj
I don't think IsPostBack should ever be true if the page is being hit from a
Response.Redirect. Response.Redirect sends back a HTTP/302 to the browser.
When receiving a HTTP/302 in response to a HTTP POST, a properly behaving
client (e.g. IE) will perform a HTTP GET on the new URL and thus will not
POST the form data to the new page.
Response.Redirect. Response.Redirect sends back a HTTP/302 to the browser.
When receiving a HTTP/302 in response to a HTTP POST, a properly behaving
client (e.g. IE) will perform a HTTP GET on the new URL and thus will not
POST the form data to the new page.
the step involved: If your doing a Response.Redirect the it is NOT considered a postback. The response.direct starts a whole new page request. So if you your button is doing that the order of operations is happening like this:
Button Clicked
Page_Load (IsPostBack = true)
Button Event Code Runs
Response.Redirect Fires
Page_Load (IsPostBack = false, because you did a response.redirect)
Done.
Button Clicked
Page_Load (IsPostBack = true)
Button Event Code Runs
Response.Redirect Fires
Page_Load (IsPostBack = false, because you did a response.redirect)
Done.
Hi,
Use session variable to find whether ispostback or not ..
before redirecting set session variable to true . so on page load u can check it .
Use session variable to find whether ispostback or not ..
before redirecting set session variable to true . so on page load u can check it .
ASKER
thanks for the responses. i will try the session variable. this could get messy in sharepoint. on click i pass variables in response.redirect so when page loads and ask ispostback , i need it to say true to bypass any code that would use the variables in the url to update database. any other ideas.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
use quertstring while redirecting
REsponse.Redirect("home.as px?var=tru e",false);
apart from url ,session to store state you can also use hidden field.....
ASKER
sounds good hosneylk. what does the comma false mean at the end of the response.redirect hosneylk?
ASKER
good