Microsoft AJAX Library Essentials:
JavaScript in ASP.NET AJAX 1.0 Explained

by Bogdan Brinzarea and Cristian Darie, Packt Publishing, August 2007

Review/buy: Amazon  ·  Amazon.ca  ·  Amazon.co.uk  ·  B&N  ·  Bookpool
Demo online: Not Available
Detailed table of contents: Not Available
Free chapter: Object-Oriented JavaScript
Code download: Download
Errata: Not Available
Book link at publisher's website: Packt Publishing
Keywords: Microsoft AJAX Library, ASP.NET AJAX 1.0, Atlas, tutorial, book

Microsoft AJAX Library Essentials: JavaScript in ASP.NET AJAX 1.0 Explained is a practical reference for the client-side library of the ASP.NET AJAX Framework 1.0, and a tutorial for the underlying technologies and techniques required to use the library at its full potential.

This book has been written for ASP.NET developers entering the world of the ASP.NET AJAX Framework, and for existing ASP.NET AJAX developers looking for a more detailed tutorial on the client-side of the framework: the Microsoft AJAX Library. Suggested additional reading include the following titles, which complement your knowledge with information about the server-side controls of the ASP.NET AJAX Framework:

What You Will Learn From This Book

This book teaches you, through step-by-step exercises, the following topics:

  • How to create basic AJAX applications using JavaScript, CSS, DOM, and the XMLHttpRequest object.
  • Understand the object-oriented model of JavaScript.
  • Learn what the Microsoft AJAX Library is made of.
  • Understand how the Microsoft AJAX Library extends the object-oriented capabilities of JavaScript by adding support for namespaces, interfaces, events, properties, and an improved set of base classes.
  • Implement JavaScript classes and interfaces based on Visual Studio class diagrams
  • Create client components, controls and behaviors, by extending existing elements of the page, registering events, and utilizing the page life cycle.
  • Go through a case study demonstrating a control named Timer and a behavior named EnhancedTextBox, which demonstrate the theory you learned throughout the book.

Appendix A is a reference and visual guideline to the Microsoft AJAX Library namespaces and classes, including diagrams and quick explanations for all the classes mentioned in the book.

Table Of Contents and Online Demos

Chapter 1: AJAX and ASP.NET is an initial incursion into the world of AJAX and the vast possibilities it opens up for web developers and companies, to offer a better experience to their users. In this chapter you’ll learn about the world of AJAX and Web 2.0, you’ll setup your development environment, and you’ll even build your first AJAX-enabled web page (AJAX with ASP.NET Quickstart Demo).

Chapter 2: AJAX Foundations will guide you through the foundation technologies used to implement AJAX features, such as JavaScript, DOM, Cascading Style Sheets (CSS), and the XMLHttpRequest object. You learn this theory by following many step-by-step exercises:

Chapter 3: Object-Oriented JavaScript teaches you how objects really work in JavaScript. After a quick definition for terms such as encapsulation, inheritance and polymorphism, you’ll learn about JavaScript anonymous functions and closures, JavaScript prototypes, the JavaScript execution context and scope, how to implement inheritance using closures and prototypes, how to read class diagrams and implement them using JavaScript code, and more.

Chapter 4: Introducing the Microsoft AJAX Library is the first chapter where you actually work with the Microsoft AJAX Library. You learn what the library is made of, how it is structured, and what its main components do. At the end of the chapter you re-create the quickstart exercise from Chapter 1, but this time using the Microsoft AJAX Library to perform the asynchronous server call. A demo for the Microsoft AJAX Library quickstart example is available.

Chapter 5: OOP with the Microsoft AJAX Library presents the features in Microsoft AJAX Library that extend JavaScript with features of the .NET world, such as namespaces, interfaces, a more powerful inheritance paradigm, extended base classes, properties, events, enumerations, and more. You learn the theory using these exercises:

Chapter 6: Creating Client Components teaches you how to create client components using the Microsoft AJAX Library, which implies working with (and extending) elements of the page, registering events, creating controls and behaviors, and understanding the page life cycle.

Chapter 7: Case Study: Timer and EnhancedTextBox walks you through an exercise that implements the theory you had learned in the book. You create two client-side components, Timer and EnhancedTextBox, which are complex enough to offer a realistic view on creating components with the Microsoft AJAX Library. View the Microsoft AJAX Library controls and behaviors example online.

Chapter 8: Debugging Tools and Techniques is a short overview over the major tools that you can use to debug your Microsoft AJAX Library projects, using Mozilla Firefox and Microsoft Internet Explorer.

Appendix A: Microsoft AJAX Library Reference is a quick reference and a visual guideline to the Microsoft AJAX Library namespaces and classes, which complements the official documentation at http://ajax.asp.net/docs/ClientReference/. You can find diagrams for the following Microsoft AJAX Library classes:

Function Class.

JavaScript Base Type Extensions: Array, Boolean, Date, Error, Number, Object, RegExp, String.

Sys Namespace: Sys.Application class, ApplicationLoadEventArgs class, Browser class, CancelEventArgs class, Component class, CultureInfo class, DebugClass, EventArgs class, EventHandlerList class, IContainer interface, IDisposable interface, INotifyDisposing interface, INotifyPropertyChange interface, PropertyChangedEventArgs class, ScriptLoader class, ScriptLoaderTask class, StringBuilder class.

Sys.UI Namespace: Sys.UI.Behavior class, Sys.UI.Bounds class, Sys.UI.Control class, Sys.UI.Key class, Sys.UI.MouseButton enumeration, Sys.UI.Point class, Sys.UI.VisibilityMode Enumeration.

Sys.Net Namespace: Sys.Net.NetworkRequestEventArgs class, Sys.Net.WebRequest class, Sys.Net.WebRequestExecutor class, Sys.Net.WebRequestManager class, Sys.Net.XmlHttpExecutor class.

Sys.Serialization Namespace: Sys.Serialization.JavaScriptSerializer class.