Link to home
Start Free TrialLog in
Avatar of kitesurf
kitesurfFlag for United States of America

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.
Avatar of hosneylk
hosneylk
Flag of Singapore image

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
Avatar of getnitincr
getnitincr

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.

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.
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 .
Avatar of kitesurf

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
Avatar of hosneylk
hosneylk
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
use quertstring while redirecting
REsponse.Redirect("home.aspx?var=true",false);
apart from url ,session to store state you can also use hidden field.....
sounds good hosneylk.  what does the comma false mean at the end of the response.redirect hosneylk?
good