Programming Books C Java PHP Python Learn more Browse Programming Books
Advanced ASP.NET AJAX Server Controls For .NET Framework 3.5 and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $49.99
  • Save: $12.67 (25%)
Only 1 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Advanced ASP.NET AJAX Ser... has been added to your Cart
Condition: Used: Good
Comment: This book has already been loved by someone else. It MIGHT have some wear and tear on the edges, have some markings in it, or be an ex-library book. Over-all it is still a good book at a great price! (if it is supposed to contain a CD or access code, that may be missing)
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Advanced ASP.NET AJAX Server Controls For .NET Framework 3.5 Paperback – July 6, 2008

ISBN-13: 978-0321514448 ISBN-10: 0321514440 Edition: 1st

Buy New
Price: $37.32
18 New from $18.99 20 Used from $0.35
Amazon Price New from Used from
"Please retry"
"Please retry"
$18.99 $0.35

Frequently Bought Together

Advanced ASP.NET AJAX Server Controls For .NET Framework 3.5 + ASP.NET AJAX in Action + Programming ASP.NET AJAX: Build rich, Web 2.0-style UI with ASP.NET AJAX
Price for all three: $101.66

Buy the selected items together

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 648 pages
  • Publisher: Addison-Wesley Professional; 1 edition (July 6, 2008)
  • Language: English
  • ISBN-10: 0321514440
  • ISBN-13: 978-0321514448
  • Product Dimensions: 7 x 1.2 x 9.1 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #2,268,767 in Books (See Top 100 in Books)

Editorial Reviews

About the Author

Adam Calderon is a C# MVP and the Application Development Practice Lead at InterKnowlogy. He is an accomplished software developer, author, teacher, and speaker with more than 14 years of experience designing and developing solutions on the Microsoft platform. His involvement with ASP.NET AJAX began in late 2005 with his participation in the ASP.NET ATLAS First Access program and later as a member of the UI Server Frameworks Advisory Council. Adam was one of the fortunate few who were able to work on a production application that utilized ASP.NET AJAX in its alpha form and experienced firsthand the trials and tribulations of working in “beta land” on this exciting technology. Visit Adam's blog at


Joel Rumerman is a Senior .NET Developer at the CoStar Group, where he develops ASP.NET applications to support the company’s commercial real estate information business. He is an adept software developer with more than eight years of experience developing .NET applications and is active in the San Diego .NET community as an author and speaker. Joel has been working with ASP.NET AJAX since late 2005 when he started work on a large-scale application for a worldwide independent software vendor. This initial entry into the ASP.NET AJAX world provided him invaluable experience as he worked closely with Microsoft as a member of the ATLAS First Access program and participated in a Strategic Design Review of the technology. Joel has gone on to implement many more solutions using ASP.NET AJAX, including a Virtual Earth mash-up that maps commercial real estate properties. Visit Joel's blog at



Excerpt. © Reprinted by permission. All rights reserved.




Server controls are an integral aspect of every ASP.NET application we build. They encapsulate browser appearance and server functionality in a reusable object. They can be used across multiple pages within a single ASP.NET application as well as across multiple ASP.NET applications. ASP.NET comes with a lot of prebuilt server controls. We have simple controls such as the label and we have complex controls such as the GridView. We also have the ability to create our own server controls to meet a need not met by one of the existing controls by inheriting from the appropriate base class and overriding its methods as needed.

This model of using server controls to encapsulate browser appearance and server functionality has served our needs well since the inception of ASP.NET 1.0, but our server control needs are changing.

A new server control need that has recently surfaced is the ability to incorporate Ajax functionality directly into the server control.

This need arose because our web applications need to be more responsive and visually interactive than the traditional ASP.NET repaint-the-entire-screen model and therefore the traditional server control supplies. This requirement has emerged because users are using web sites such as Gmail,, Yahoo! Mail, and others that don't repaint the screen every time they click a button or need to receive fresh data. Rather, they rely on Ajax to fetch fresh data and then update or add to a portion of the screen based upon that data. Because these web sites are heavily used and users really enjoy their experience while using these websites they expect other web sites to perform with the same elegance as they do. When a web site doesn't perform with the same elegance the user will often move onto another web site that does. Those popular applications have raised the bar for what is an acceptably user-friendly web site.

Because our users are demanding a web site experience that essentially uses Ajax and we build our ASP.NET web sites using server controls, we need a way of easily creating server controls that not only encapsulate browser appearance and server functionality, but also include Ajax functionality so that the server control itself is Ajax-enabled.

Taking a step back for a moment, unlike other technologies you might have read books on, ASP.NET AJAX server controls don't provide you with anything that you couldn't already do. We've always been able to embed Ajax-functionality into server controls ... it was just a real pain.

There were a few different methods we could use to include the JavaScript with our server control such as embedding it as a resource, but we eventually ended up having to do the same three tasks. To make our server control have some serious client capabilities we always had to concatenate strings together to form JavaScript statements and functions, write browser sniffing statements to make sure that the JavaScript was cross-browser compatible, and add attributes or render out Html that attached the JavaScript functionality to the client versions of our server controls. It wasn't impossible, but it was error-prone and there was always this mingling of server code and JavaScript that was hard to maintain and even harder to read.

Furthermore, if you had multiple server controls that had client capabilities it was difficult (but not impossible) to ensure that the client functions that each server control required didn't overwrite each other when rendered on the browser. Tracking down that problem was always a fun hour or so.

The difficulty grew exponentially if we wanted to include a mechanism for asynchronously communicating with the server when the user pressed a button embedded in the server control. Even with a helper communication library there were always tricks to getting your control to communicate properly with the server.

These hindrances were problematic enough to lead to some bad programming habits and bad code as well as scare programmers away from even attempting to include Ajax-functionality in their server controls.

These problems are what Microsoft's ASP.NET AJAX solves.

In this book, we're going to teach you how to use ASP.NET AJAX to create server controls that encapsulate Ajax functionality. ASP.NET AJAX provides both server and client programming constructs that make adding Ajax-capabilities to our server controls easy. Not to sound cliché, but with ASP.NET AJAX reducing the complexity of adding Ajax-capabilities to our server controls, we're able to create server controls whose Ajax capabilities are only limited by our creativity. If we want to listbox that self-updates with fresh data, if we want a type-ahead textbox that dynamically populates from the server, or if we want a button submits an address for verification we can easily accomplish this through ASP.NET AJAX.

The ASP.NET AJAX Components

As we go through the book we'll be talking about the three sections of ASP.NET AJAX: the Microsoft AJAX Library, the ASP.NET 2.0 AJAX Extensions, and the ASP.NET AJAX Control Toolkit. Here's a quick rundown of the different components.

Microsoft AJAX Library

The Microsoft AJAX Library is the JavaScript programming framework of ASP.NET AJAX. It provides all of the client programming constructs you'll use to create new client objects and components. It's contained within the MicrosoftAjax.js JavaScript file that's embedded in the System.Web.Extensions DLL.

ASP.NET 2.0 AJAX Extensions

The ASP.NET 2.0 AJAX Extensions are server objects such as the ScriptManager, ScriptControl, and ScriptDescriptor, which provide a connection between the Microsoft AJAX Library and our server ASP.NET development. These server objects provide an important distinction between ASP.NET AJAX and other Ajax frameworks as they provide a server programming model for manipulating client code (and allow us to make Ajax-enabled server controls!). Like the Microsoft AJAX Library they are included in the System.Web.Extensions DLL.

ASP.NET AJAX Control Toolkit

The ASP.NET AJAX Control Toolkit is a shared source project that is built on top of ASP.NET AJAX. It's an effort shared between Microsoft and the ASP.NET AJAX Community in with the goal of developing powerful and reusable ASP.NET AJAX extenders and controls.

It's not actually part of ASP.NET AJAX, but because it provides so many great server and extender controls, it's invaluable to the ASP.NET AJAX community. Creating new extender controls through it will be a topic we'll cover fully.

Book Breakdown

The book is divided into four major sections. In the first section, we focus on the basics of the Microsoft AJAX Library and JavaScript, the programming language that powers it. We call this section "Client Code." In the second section we focus on a creating distributable Ajax-enabled controls and we call this section "Controls." In the third section called "Communication" we focus on the different ways your client control can communicate with the server. Finally, in the fourth section, we focus on the Ajax Control Toolkit, which is a slightly higher-level model of creating Ajax-enabled server controls. This final section is aptly named "Ajax Control Toolkit."

Client Code

Chapter 1 focuses on JavaScript, the programming language that powers the Microsoft AJAX Library. We spend a full chapter on JavaScript because so many developers (ourselves included) have glossed over key details when working with the language and since you're going to be writing so much JavaScript to Ajax-enable your server controls a solid background is important.

In Chapter 2 we continue where we left off in Chapter 1 by taking a look at how the Microsoft AJAX Library builds upon JavaScript to provide a programming platform a .NET developer will find familiar.


Starting in Chapter 3 we begin our path to creating fully encapsulated Ajax-enabled controls by learning how to use and derive from three key client types: Components, Controls, and Behaviors. We'll talk theory as well as provide a couple of practical examples.

In Chapter 4 we cover maybe the most important portion of the Microsoft AJAX Library as we cover Sys.Application and how it acts like a client runtime with which we can interact.

Finally, in Chapter 5 we bring the server into the mix when we cover how to create server Components, Controls, and Behaviors that automatically create their corresponding client objects.

In Chapter 6 we wrap up the Controls section with an in-depth examination of Localization in ASP.NET AJAX.


With Chapter 7 we start looking at communication in ASP.NET AJAX using WCF services, page methods, and the client web service proxies.

In Chapter 8 we cover the application services and include a demonstration on how to build your own application service.

In Chapter 9 we conclude our communication section with a look at some of the concerns surrounding how the UpdatePanel effects control development.

Ajax Control Toolkit

Beginning with Chapter 10 we start our look at the Ajax Control Toolkit. We cover the base classes that are used by toolkit controls as well the support and designer classes that provide additional features.

Finally, we conclude the book with Chapter 11 as we attach client capabilities to server controls using the Ajax Control Toolkit. This chapter includes how to build a new extender control and provide design time features for it.

What is not covered?

You might find it strange to see a section that talks about what we're not covering. We're including it for two reasons.

First, this book covers a pretty narrow topic when compared to ASP.NET AJAX at large. Because of this we don&...

Customer Reviews

4.4 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 11 customer reviews
NET AJAX I highly recommend this book.
T. Anderson
It is simple enough to understand even for those ones who have little experience with AJAX or ASP.
The topics were well paced and well structured.
Amazon Customer

Most Helpful Customer Reviews

14 of 14 people found the following review helpful By K. Cox on October 2, 2008
Format: Paperback
This is a fine resource for ASP.NET developers who want to build high performance, data-driven Web applications with a richer user interface. The introduction of ASP.NET AJAX 2.0 extensions caught many of us off-guard. We were suddenly thrown into intensive JavaScript programming on a Microsoft platform. Faced with a major learning curve, many of us fled to the convenience of the UpdatePanel control as a stepping stone.

There's no getting around it, it's going to take effort to get to the next level of AJAX capabilities using Microsoft's library. This book takes you into that journey - but not necessarily by the most direct route.

The first third of the book feels more like a solid ASP.NET AJAX reference than a "how-to-do-it" tutorial. The early chapters cover the library's types, namespaces, and classes in depth. It just seemed too early and too dry to be dealing with the nitty-gritty of the platform.

In my view, the book should start at Chapter Five. That's where you really make use of client-side functionality by adding it to server-based controls. As the authors point out, the AJAX library extensions help you overcome inconsistencies among browsers. You learn practical steps such as adding script resources, configuring ScriptManager, and getting into extender controls. The book leads you through the creation of an Image control extender that loops through a series of images at runtime. It's in this hands-on chapter that you really start to grasp the concepts. There's a substantial chapter of localization in ASP.NET AJAX. If you're taking on a translation, it would certainly be worth the price of the book.

At the outset, I referred to the UpdatePanel. It could be called the "lazy developer's AJAX control".
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By Amazon Customer on February 17, 2009
Format: Paperback
I found this book as very resource full and requires a serious and focussed read. I have a good ASP.NET 2.0 server development experience and little or basic experience on the client scripting and AJAX. I wanted to learn this piece of web development and being a professional I picked up this book even though the title says 'Advanced' only because the advanced and pro series books generally tend to have more technical details that are needed in a real project and have more serious material.
I have tried most of the example code and took my own time learning the details before moving forward to a new concept.
The authors really know their subject very well. The topics were well paced and well structured. I suggest reading the book thorougly and not to skim the material. The book also features a great chapter on JavaScript.
All in all, a worthy buy for serious learners.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 8 people found the following review helpful By Bradley Cunningham on August 5, 2008
Format: Paperback
I would classify this book as a hardcore, deeply technical look at JavaScript, AJAX, and the Atlas farmework (I am only a few chapters in :) )

The first few chapters I have read so far covered JavaScript more in depth then I think anyone human should ever go with JavaScript but there were some interesting nuances that I didn't previously know about. I haven't got into the meat of the AJAX stuff yet but if the first few chapters are any indication of the depth, this book will be on the "hardcore" level.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 4 people found the following review helpful By T. Anderson TOP 1000 REVIEWERVINE VOICE on September 8, 2008
Format: Paperback Verified Purchase
I started programming on the internet with Internet Explorer 2.0 on a Mac Performa using notepad, and then using Claris Home Page. I was using the AJAX technologies well before 2000. It is interesting to see how engrained into our browser development they have become. A few years later I started developing Windows Form applications, which move into the Smart Client context, and now RIA using WPF and Silverlight. I have gotten my hands dirty with browser applications a few times since 2002, but I try to avoid them like the plague.

I am a firm believer that the browser is being abused, would love to develop every day without it, but have found that is still not possible today when targeting home users and environments you do not control. That is not the case with our project, we should be using WPF, but those in charge do not care.

Why all the useless blather? Because I want you to know I have absolutely zero interest in ASP.NET AJAX, but I have to get up to speed on it because it is being forced on our team.

That said, this book sucks, because it is written so well I cannot put it down. These guys zero in on ASP.NET AJAX Server Controls, but they take the time to go in-depth on all the technologies that ASP.NET AJAX Server Controls interact with. Including JavaScript, JSON, HTTP Handlers, the ASP.NET AJAX Extensions, the ASP.NET AJAX Toolkit, REST, and WCF.

This book has given me a new perspective on the present day browser environment that will make this next project enjoyable.

If you are getting started with ASP.NET AJAX I highly recommend this book. It digs into the guts of ASP.NET AJAX and will give the inside story on how the ASP.NET AJAX Controls are working and how to build high quality controls yourself.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By Eric on September 10, 2008
Format: Paperback
This is an excellent book for developers looking to lean more than just the basics of ASP.NET AJAX, to truly understand how ASP.NET AJAX works. This book contains some fairly advanced subjects that are probably too much for a beginner, but great for the experienced developer.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

More About the Author

Discover books, learn about writers, read author blogs, and more.

What Other Items Do Customers Buy After Viewing This Item?