Pro ASP.NET 3.5 Server Controls and AJAX Components
This is an excellent book on AJAX and ASP.NET 3.5 server controls targeting intermediate to advanced programmers; the code samples will also help beginning AJAX and ASP.NET programmers get a running start.
In the introduction, the authors talk about the four sections of the book but the editors apparently didn t get the memo, because the book was not laid out in sections. This is a minor point, as the only things that are missing are the indentations in the table of contents and the section title pages between the sections. Because of this, and because it makes sense, I m going to review this book as if it were divided into the sections discussed by the authors in the introduction.
The first section includes the first two chapters and covers the basics of controls and the design of controls in ASP.NET. The second section includes Chapters 3 through 8 and devolves in to specific subjects (such as state management) related to ASP.NET controls. The third section includes Chapters 9 and 10, and discusses AJAX controls, Web parts, and Mobile issues. The last section includes Chapters 11 through 13 and covers advanced design-time support and complex controls, and closes with packaging and deployment. Design-time support is for Web page designers while they are working in development environments like Visual Studio.
Let s look at some details. The first two chapters introduce ASP.NET controls, custom controls, and ASP.NET AJAX. The third chapter introduces server-side and client-side state management. The authors demonstrate client-side state management by creating a Web page called a client state workshop that allows the user to play with state storage. This is a Web page that has some labels describing its state, with text boxes and buttons that allow the user to modify the page s state and see the results. I thought this was a nice touch, and it is repeated throughout the book.
Chapter 4 covers control styles, including CSS and Visual Studio support for creating CSS files, control styling, customizing the ViewState to hold style information, rendering controls yourself, and creating custom controls. It also includes a Web Control Style Web Form that allows the user to select different style attributes and see them rendered on some common controls (see Figure 1).
Figure 1: The Web Control Style Web Form.
Chapter 5 goes into details on server control events and delegates, including custom events. One key to truly understanding events is knowing when and in what ordered they are fired. This is related to the lifecycle of a form and its controls, so the workshop page for this chapter lists all the events as they are fired as a Web page is loaded and unloaded. If somebody blows this up to poster size, I ll buy a copy to hang on my wall. Until then, I ll just have to keep this book handy with this page bookmarked.
Chapter 6 covers server control templates. Chapter 7 covers data binding and its Web page workshop demonstrates binding to different types of data sources, such as DataReaders, DataTables, Arrays, and design-time data sources. It also covers the DataRepeater control and dynamic templates. Chapter 8 covers client-side scripting, including validation, integrating client-side and server-side scripts, and client call backs.
Chapters 9 and 10 make up the third section, covering controls. Chapter 9 covers AJAX controls; Chapter 10 starts with Web parts, then delves in to a very long section on mobile controls and issues related to mobile controls.
Chapter 11 starts off the fourth and final section of the book by covering design-time support, including the environmental services provided by the .NET Framework for supporting controls at design time. It then details how to enhance your custom control with design-time tools like UI and component editors, custom design-time appearances and behaviors, and Toolbox icons. It then discusses design-time data binding and the data RepeaterDesign class for providing data binding at design time. The chapter concludes by detailing how to use two instances of Visual Studio to debug design-time issues.
Chapter 12 puts it all together by creating a complex Live Search control, showing how to use the Live Search API, Web services, global assembly cache (GAC), and configuration files. One thing I really like about this chapter is the way it describes how to architect a complex control. The final control includes child controls for headers, footers, search box, returned results, and paging.
Chapter 13 closes the book by finishing the Live Search control, then touches quickly on testing, using FxCop for code analysis, and documentation. It also provides in-depth discussions about licensing, globalization, and localization.
Pro ASP.NET 3.5 Server Controls and AJAX Components is not meant for typical Web page designers, it is meant for programmers who are creating complex custom controls, especially when those controls are meant to be used by Web page designers. For these programmers, this book is indispensable. It does a great job of covering areas like design-time functionality and globalization that are not covered in general-purpose ASP.NET books.
Title: Pro ASP.NET 3.5 Server Controls and AJAX Components
Authors: Rob Cameron and Dale Michalk
Web Site: http://www.apress.com
Page Count: 740