Microsoft ASP.<st1:stockticker>NET</st1:stockticker> <st1:City><st1:place>AJAX</st1:place></st1:City> Using Visual C#

AppDev Presents Clear and Instructive Content



Microsoft ASP.NET AJAX Using Visual C#

AppDev Presents Clear and Instructive Content


By Dennis Hayes


AppDev has been in business since 1994. In that time they have gained industry recognition and won many awards for their quality training products. One of their newest releases, Microsoft ASP.NET AJAX Using Visual C#, provides the same quality we ve come to expect. Taught by Scott Cate, this course contains eight modules that cover eight hours of lectures, as well as hands-on labs, sample code, and 250 pages of documentation (identical to the optional printed material). The total running time of the lectures, labs, and other material is more than 24 hours. I reviewed the DVD version, but everything herein applies to the CD version, as well.


The user interface is good, but not great; see Mike Riley s review of Exploring ASP.NET 2.0 Using Visual C# 2005 Beta 2. The interface and its limitations are still the same, with the exception that the current version uses DRM. The user interface, although not great, does the job it is meant to do. For instance, it does not allow the user to set bookmarks, but the eight hours of video are separated into topics of at most a couple of minutes each. So even though you can t set a bookmark, you can get back to within a minute or two of any point on the DVD.


The DRM in this version is a bit heavy handed. During installation you must enter a 27-letter key and connect to the Internet to register the product. When you run the software, you must have the CD in the drive, and the software also uses DRM from Microsoft.


The DRM is also very fragile. The day after I installed the software, Windows update ran, after which the software said I had an invalid license. This probably happens a lot, because when I went to their support Web site, the most popular knowledge base article was one from July 2007 describing how to deal with this error.


However, once I got the product up and running (and disabled the automatic Windows updates), the course really shines. The presentations are well done, the demos are clear and instructive, and the content is complete for beginning to intermediate students. When you watch these videos, you can see why AppDev has won so many awards.


Each of the eight modules has a short pre-test of 6 to 10 questions, so you can judge how well you know the material before you start, and a post-test of 12 to 17 questions to see how well you learned the material. Each module also includes a coursebook that contains information about the material covered, explanations of the source code, instructions for completing the labs, lab files that include the code from the course, sample files from the videos, and a list of Web sites for supplemental information.


Module 1

Lesson 1 provides an introduction to raw AJAX, so the student will have a feel for the work done by AJAX.NET and the AJAX Framework. This lesson also provides a good understanding of what is happening under the hood. Lesson 2 introduces and describes JSON, the JavaScript Object Notation (in simplified terms, a text-based, value-pair way to save Java objects). Lesson 3 delves in to the advantages of AJAX, explaining the benefits of partial-page updates without any JavaScript, consuming Web services in JavaScript without writing any extra code, and having the same .NET-like environment on both the client and server. This lesson also provides a great introduction to debugging AJAX Web pages, covering breakpoints in Visual Studio, the Microsoft Web Development Helper (including trace listeners and HTTP logging), and the debug and release versions of the AJAX Framework.


Module 2

The server-side framework includes three components: ScriptManager, Timer, and UpdatePanel. Module 2 concentrates on ScriptManager, which is responsible for moving scripts from the server to the browser using proxy scripts. ScriptManager handles multiple browsers and localization and can be run in debug mode. Cate also covers Web services under AJAX, with ScriptManager creating JSON and JavaScript proxies to make creating and using Web services very simple by adding the WebMethod and ScriptMethod attributes to functions. Cate ends this section by demonstrating how to create a simple Web service.


Module 3

Module 3 covers UpdatePanel, a key piece of AJAX that allows partial-page updates. The first two lessons cover UpdatePanel from the server and client side, respectively, including multiple UpdatePanels and how to use UpdatePanel events on the client side to customize the way the page is updated. This allows JavaScript to intercept, modify, and reroute data being passed between the server and client by UpdatePanels. Cate uses a complex demonstration to show the full capability of this feature. This lesson also includes more information on how Visual Studio and Internet Explorer work together to make debugging JavaScript easy. The final lesson covers triggers, which allow UpdatePanels to update controls not included in an UpdatePanel, and how controls outside of UpdatePanels can force an update of an UpdatePanel. The lesson also shows how the ChildrenAsTriggers setting works with tree and grid controls.


Module 4

Module 4 covers the AJAX Toolkit. This is a toolkit written and maintained by the AJAX community, but supported by Microsoft and hosted at It is released under the Microsoft Permissive License, which means you can use, modify, and distribute the code fairly freely. The first lesson provides an introduction to about 30 of the controls, which are constantly being expanded by the community. It shows how to use the toolkit s documentation to find a control s capabilities, uses, and limitations; in other words, it teaches you to fish for new controls so you can eat for life. The second lesson presents more detailed demonstrations of five of the more popular extender controls that extend visual controls in the toolkit. The final lesson covers using ToolkitScriptManager, which inherits all the functionality of ScriptManager, then extends it with functionality like the CombineScripts property and CombineScriptHandlerUrl to improve AJAX performance and make AJAX easier to use. This detailed lesson uses demos to show how all this works behind the scenes. These types of demos convey the kind of detailed information and understanding that really makes these videos stand out from books.


Module 5

The three lessons in Module 5 cover some of the more complex AJAX controls. The first lesson covers AnimationExtender, which can do many different animations concurrently in series and parallel. The second and third lessons build from scratch a simple question and answer application, including a database. It makes use of the Login control, master pages, CSS, content pages, a SQL database, and the .NET DataSet and TableAdaptor classes. Cate spends quite a bit of time showing how the Login control works, including how it handles roles, connecting it to a SQL Server backend, and how to display different content based on whether or not a user is logged in. Cate then demonstrates how to use drag and drop in Visual Studio to create DataSets and TableAdaptors, and how to use the query builder to customize the datasets. The third lesson continues building the application by showing how to configure and use the DataGrid and DetailsView controls.


Module 6

The first lesson of Module 6 builds another simple application to demonstrate the details of creating and connecting to a Web service using the features and tools in Visual Studio. This is demonstrated step-by-step, from creating the Web service to connecting to and using the Web service using HTML, JavaScript, and AJAX. The second lesson goes into the details of using Visual Studio to debug JavaScript. This starts with configuring the Web site, ScriptManager, and Internet Explorer, and continues with attaching to processes using many of the features of the debug environment in Visual Studio. The lesson ends by showing how to use the debugger as an educational tool by stepping through third-party code, such as the constructor of the Sys.StringBuilder control from the AJAX library. The third lesson covers debugging using Internet Explorer and the Internet Explorer Developer Toolbar. The Internet Explorer Developer Toolbar is a free download from Microsoft that adds debugging features to Internet Explorer ( This includes the ability to view the DOM, modify client-side JavaScript code during debugging, do HTTP logging, and browse script classes. The lesson ends with an overview of the capabilities of the Sys.Debug namespace.


Module 7

Lesson 1 covers JavaScript shortcuts, extensions, and type conversions. It covers the browser-safe AJAX $get shortcut and goes into detail on adding event handlers on the fly using the event handler shortcuts. Next it covers JavaScript extenders, showing the new functionality AJAX adds to JavaScript arrays and strings. Lesson 2 covers the .Sys namespace, including .Application, .StringBuilder, .UI.DOMElement, JSON serialization, and WebForms.


Module 8

The first lesson covers object-oriented programming in AJAX. As Cate points out, JavaScript is not, and cannot be, object oriented, but AJAX does a decent job of faking it. This lesson covers AJAX objects, registering objects, inheritance, and interfaces. The second lesson covers deploying AJAX applications, including common deployment errors and how to correct them, and what to do if your hosting provider doesn t yet support AJAX. The final lesson explains database deployment, focusing on the membership log-in database. It covers how to develop and deploy on different editions of SQL Server, such as SQL Express or SQL Standard edition.



This course provides a great overview of AJAX, covering areas of AJAX that I don t see addressed in most books. AppDev s materials are of the highest quality, which is reflected in the price (although they have reduced rates on suites, and frequently have some titles on sale; visit their Web site at to check for current prices and available discounts). But because of its price, I find it difficult to recommend this course to a student or an individual programmer (unless you respond really well to visual learning). But for corporate training programs, this is a good alternative to bringing in a consultant to teach a course. Visit to download free samples of some of their courses and courseware to see if this is the right option for you.



Web Site:

Price: US$995 for 8 CDs or 1 DVD; US$1,091 for 8 CDs or 1 DVD plus printed material.


Dennis Hayes has been writing software since the early 70s. He currently writes software for the Hertzog Adult Cognition Laboratory in the Psychology Department at Georgia Tech. He has been a member of the Mono project for more than six years, and is the open source editor for.NET Developer s Journal, where he has written a monthly column on open source .NET for the last five years. He also speaks on .NET-related topics and does independent contracting, including VB6 to VB.NET and C# conversions, in the Atlanta area after having spent 20 years in Silicon Valley.



Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.