A redirect is not a postback nor does it require a postback to function. A
postback only occurs when you submit the webform such as with a button press
or other server side event triggered by a client side action. Within the
life cycle of a page certain events are called by the ASP.NET runtime such
as OnInit(), OnLoad(), and OnPreRender() regardless of whether a postback
has occured or not.
As I mentioned in my previous post, you can check Page.IsPostBack to
determine if a postback occured if you have code that you only want to run
when a postback occurs. Performing a postback is not necessary to call
Response.Redirect or Server.Transfer though it it more common for the
redirection to occur after a postback.
Here's an example (not the greatest but it works) Say you have a production
system and you're replacing one page with another but you don't want to
update all of the links right now because there are too many to find them
all or multiple systems that you don't have control over reference the page.
You could add a call to Response.Redirect() to perform the redirection to
the replacement page as soon as the page is requested or you could place a
note on the page telling people that the page has been replaced by another
page and you provide a Button (call it RedirectButton) control that, when
clicked, will call RedirectButton_OnClick() which in turn calls
Response.Redirect(). In either scenario, you'll be requesting Page1 which
will redirect to Page2 which means that a new instance of Page1 will be
created, the code for the page will execute, then when redirected, a new
instance of Page2 will be created and its code will be executed. One
mechanism requires a postback while the other doesn't. Whether the page
needs to perform a postback is determined by the needs of your application.
"MooreSmnith" <MS********@hotmail.com> wrote in message
news:eE**************@TK2MSFTNGP12.phx.gbl...
Yes,
I am making Response.Redirect from page 1.
Thanks for your response. To conclude, to redirect to different page it
has to postback itself.
Moore
"EijiTek" <ei*****@comcast.net> wrote in message
news:pM********************@comcast.com... As I mentioned, each page has a life cycle therefore, requesting a page
starts the life cycle. In order to perform a redirect you have to be
executing code from the first page.
Where in Page1 are you making the call to Response.Redirect()?
"MooreSmnith" <MS********@hotmail.com> wrote in message
news:eh**************@TK2MSFTNGP11.phx.gbl... My question is when the response.Redirect is executed, page_load event of the page(Page 1) which has Response.Redirect and the Redirected(Page
2) page Page_load event is getting called. I am not understanding why the the
Page_Load event of Page 1 is called. Calling Page 2 Page_Load evevnt
is understandable.
Thanks for your answers and helping me to understand this flow.
Moore.
"EijiTek" <ei*****@comcast.net> wrote in message
news:vq********************@comcast.com...
> Every ASP.NET page is an instance of a class and therefore each page
has its
> own life cycle. Each page has a Page_Load event that is called as part of > the life cycle of every page, not just on post back. If you want
certain > code to only run when a postback occurs you can test for it with
> Page.IsPostBack.
>
> Response.Redirect results in a response being sent to the client,
> instructing it (the client) to open a different page instead of the
one > originally requested. Server.Transfer on the other hand occurs on
the > server and skips the additional HTTP request but neither method will
supress
> the call to the Page_Load event handler on the next page.
>
> "MooreSmnith" <MS********@hotmail.com> wrote in message
> news:eJ**************@TK2MSFTNGP12.phx.gbl...
> > When I navigate to the next page using
> > Response.Rediect("MyNextPage.aspx") current page Page_Load event
is > called.
> > What I may wrongly understood is that post back will happen
whenever there
> > is any server side event happens, resulting in Page_load event.
Page_Load
> is
> > also happening when I navigate to the next page. That means Page_load will
> > always happen when I navigate to the next page. Please correct me
If I > have
> > totally misunderstood this concepts.
> > Moore Smith
> >
> >
> >
> >
> >
>
>