TCallbackClientSide
TCallbackClientSide is used to specify client-side callback request options and client-side event handlers.
Each active control that inherits from TActiveBaseCallbackControl has a ClientSide property.
The ClientSide property is an instance TCallbackClientSide containing the actual options and event handlers
that are used by the client-side when that control is making a callback request.
The following example demonstrates the toggling of a "loading" indicator when the client-side is making a callback request.
<com:TClientScript PradoScripts="effects" />
Loading...
<com:TActiveButton
Text="Click Me"
OnCallback="button_callback"
ActiveControl.CallbackParameter="value" >
<prop:ClientSide
OnLoading="Element.show('callback_status')"
OnComplete="Element.hide('callback_status')" />
</com:TActiveButton>
Events
The following client side events are executing in order if the callback
request and response are send and received successfuly.
- onPreDispatch: executed before a request is dispatched;
- onUninitialized: executed when callback request is uninitialized;
- onLoading* : executed when callback request is initiated;
- onLoaded* : executed when callback request begins;
- onInteractive: executed when callback request is in progress;
- onComplete: executed when callback response returns;
- onSuccess executed when callback request returns and is successful;
- onFailure executed when callback request fails (only for communication errors);
- onException raised when callback request fails due to request/response errors.
* Note that theses 2 events are not fired correctly by Opera. To make
them work in this browser, Prado will fire them just after onPreDispatch.
In a general way, onUninitialized, onLoading, onLoaded and onInteractive events
are not implemented consistently in all browsers. When cross browser compatibility is
needed, it is best to avoid use them.
The OnSuccess and OnFailure events are raised when the
response is returned. A successful request/response will raise
OnSuccess event otherwise OnFailure will be raised.
Properties
The following properties can be used to change the way the callback request is performed.
- PostState: true to collect the form inputs and post them during callback (default: true);
- RequestTimeOut The request timeout in milliseconds (default: 30000, i.e. 30 seconds);
- HasPriority true to ensure that the callback request will be sent
immediately and will abort existing prioritized requests. It does not affect
callbacks that are not prioritized (default: true);
- EnablePageStateUpdate enable the callback response to enable the
viewstate update. This will automatically set HasPriority to true when enabled. (default: true).