
Got AJAX?
Nothing has been more exciting in the web development world in recent times than
AJAX. It is an acronym, for a relatively unassuming technology, that stands for
"Asynchronous JavaScript And XML". This might sound boring until you go in
depth to learn what it is all about and how it can benefit your applications.
In essence, when a client sends an out-of-band request to a server, XML data
that the client uses to refresh its contents are returned. What this means, in
short, is that you can avoid "Postback Hell." Postbacks are still used in the
vast majority of the web pages that users browse to. This is because there has
been very sparse support in client browsers and in web server implementations
to help developers embrace AJAX technology. One fine day, AJAX support appeared
in Internet Explorer and Firefox, and shortly thereafter Google Maps came onto
the scene. Nothing could better illustrate the power of AJAX than Google Maps.
The smooth refresh as you browse maps that gives Google Maps that rich client
look and feel is all AJAX. We are now at a stage where developers are not doing
justice to their websites if they do not consider AJAX during the design phase.
You Say AJAX … I Say Callbacks
AJAX support in ASP.NET 2.0, referred to as Callbacks, is easily the new
version’s most exciting and important new feature. The first thing you will
notice is that callback support has been built into ASP.NET server controls,
like GridView and TreeView, to provide a rich, interactive user experience
without postbacks.
The callback feature is usually consumed indirectly by using one of these
controls in the pages that you design. However, the Callback framework
implemented in 2.0 is much more elaborate than that. It provides excellent
services to help you create custom controls or pages with Callback features.
In ASP.NET 2.0 great care has been taken to give the Page lifecycle a shorter
time span during Callbacks to make them as efficient as possible. The callback
lifecycle is also very similar to the postback lifecycle. This means that you
will not have to rewrite any of your current pages, and there is usually
nothing new to learn in order to use the callback controls. As usual, it hides
all client browser-specific details.
Callbacks, the Tease
What would your state of mind be once you are used to Callback features being
present in controls like the framework grid and tree? Relieved? Gratified?
Jubilant? Probably, but you are more likely to find yourself desperately
wanting more.
This is simply because there really is nothing else in the Toolbox besides the
grid, tree, and DetailsView controls. Callbacks in 2.0 are nothing more than a
tease. Do you want to update a listbox’s contents based on another listbox
selection in your page? Then feel free to implement the appropriate interfaces
in the page, register your Callback handlers, generate and return HTML from the
handler, and write some script to parse the DOM in the browser and update the
contents. No, that does not fall under RAD development.
Let us think of a much simpler scenario. How about incrementing a value in a
label based on a button click? Sorry, no can do. There is no support for
ViewState in the Callback framework.
This example shows that there is a severe limitation in the level of AJAX
support that the Callback framework offers in ASP.NET 2.0. It is this
limitation that Syncfusion addresses in our control offerings in the Essential
Studio package.
Essential Callback Controls in Essential Studio
At the risk of sounding cliched, there are some essential controls in Essential
Studio which will cater to your newfound appetite for callbacks.
All of our controls feature built-in support for callbacks wherever appropriate.
Our grid control now uses callbacks to sort, group, and more. Our chart control
now uses callbacks to support AutoRefresh. There is also a Google Suggest-like
AutoComplete control that provides a choice list in the dropdown, the contents
of which are provided in a callback event based on the user input in the
textbox.
Our CallbackPanel control is the most exciting feature of all. The idea behind
this control is simple: no more postbacks. We wanted to provide users with a
control that takes away the requirement of postbacks from their website
designs.
Deriving from a Panel, a CallbackPanel is very similar to a Panel in usage.
Developers can drag and drop a CallbackPanel from the Toolbox, and they can
drop one or more controls directly into it. The difference between a
CallbackPanel and a Panel is that developers can invoke a callback on this
panel from the client and can then update the contents of the panel in the
server-side code. With our CallbackMultiplexer developers can also invoke a
callback and update contents on more than one CallbackPanel at the same time.
Here are some features that can be implemented using the CallbackPanel.
-
Increment a label's value on a button click-there is now full support for
ViewStates for controls within CallbackPanels
-
Create an image gallery where users can browse through images without postbacks
-
Create a Chat page where interaction happens without any postbacks
-
Create a product info page where users can browse between different products
without postbacks
-
Maintain a shopping cart on the side,which can be updated via callbacks as the
user makes selections in the page
This new technology offers endless possibilites and huge potential for enhancing
your applications.Syncfusion invites you to take a look at Essential Studio and
the exciting ASP.NET Callback features in our products and demos.
To learn about our products please visit this link: http://www.syncfusion.com/products/default.aspx
http://www3.syncfusion.com/infrastructure/samplebrowser/samples.aspx
To work with full-featured evaluation version of Essential Studio please visit
this link: http://www.syncfusion.com/Downloads/default.aspx
|