views:

3438

answers:

4

I've recently ran into some code that checks Page.IsCallBack but I wasn't sure how it is different from Page.IsPostBack. Can anyone enlighten me?

Edit: Are they mutually exclusive or can both occur at the same time in a given situation?

+14  A: 

Page.IsCallBack

It is getting a value indicating whether the page request is the result of a call back. Its a special postback, so a round-trip always occurs; however, unlike the classic postback, the script callback doesn't redraw the whole page. ViewState is not updated during a callback, it is for postback.

Page.IsPostBack

Checks whether the Page is accessing the server for the first time or not. Unlike the IsCallBack, the ViewState is updated

Refer to Page Life Cycle for more detail that shows a diagram illustrating the sequence of events

Edit - To answer your new question

Page.IsPostback property will return true for both request types. The Page.IsCallback property will return true only when the request is a client callback

TStamper
I like your answer but could you rephrase your 2nd quote so it is cleaner? Thanks.
Joe Philllips
a little cleaner for you :)
TStamper
Great link by the way.
Joe Philllips
+5  A: 

A callback is a special postback, so a round-trip always occurs; however, unlike the classic postback, the script callback doesn't redraw the whole page. ViewState is not updated during a callback, it is for postback.

More info here:

Gulzar
+9  A: 

IsPostBack is true when the page is posted via a form method

IsCallBack is true when the page has been called back from an AJAX call.

bendewey
+2  A: 

A postback is when the form is posted back to itself, either by clicking a submit button or through Javascript (like AutoPostback controls)

A callback is when an AJAX Control calls a method on the page as part of an ajax request

Jimmy
Can you give some examples of relevant controls that would issue a callback?
Joe Philllips