Author: Matthew MacDonald
Publisher: Apress, 2012
Audience: ASP.NET Forms developers
Reviewer: Ian Elliot
This is the latest edition of Matthew MacDonald's encyclopedic tome on APS.NET - classic forms based ASP.NET that is
You wont find much mention of the current incarnation of ASP.NET technology which is MVC. You also wont find anything on Silverlight and it has to cross anyone's mind that perhaps ASP.NET forms is in the same basket as the once promising Silverlight. Reviewing the previous edition I was able ot say:
"Classic ASP.NET is far from dead, despite the rumors put around by the ASP.NET MVC crowd!"
At this point is is looking a lot deader than it did.
This isn't to say that there aren't a lot of people still using it but most would pick something other than ASP.NET forms for a brand new project. It is now clear that MVC is the way to create web pages that is currently Microsoft's favorite. However the usefulness of a book doesn't directly depend on the politics of the technology and if you are using ASP.NET then you still want to have good books on the subject.
What is surprising is that this new edition has lost some pages over the previous edition but not enough to make it easy to carry as a physical book. However the general organization of the book remains the same and changes amount to bringing things up-to-date. As already mentioned the bringing up-to-date most certainly does not include MVC which apart from a brief mention at the start is completely ignored.
It starts off with a look at the way the web application evolved and for once this is justified because you can't really understand why ASP.NET works in the way that it does unless you know how it all happened and what the alternatives are. Chapters 2 and 3 are an introduction to C# - brief and to the point.
This introduction would be fairly useless to a complete beginner but does server to make sure you know what the modern C# looks like. To work with ASP.NET or to get very much from this book you need to have a grounding in C# - you don't have to be an expert but you need to be able to read the code and understand what is going on.
From this point you should have mastered the general way that ASP.NET does things and the next few chapters are concerned with practicalities - error handling and state management, It is all made to seem very reasonable and very simple. At the end of section 2 you should have a grasp of round trip event handling and the way that controls are created and manipulated i.e. the basic approach of ASP.NET.
Part 3 of the book aims to build on the basic ideas that part 2 put in place. It deals with what you might consider the extra pieces that are needed to make a fully working web site. Chapter 9 explains the validation controls and chapter 10 deals with the "rich" controls e.g. calendar. Chapter 11 explains how to make or own controls and use graphics. Then we have our first look at overall website organization in Chapter 12 with styles, themes and master pages. And chapter 13 brings this section to a close with a look at the problems of navigation and here a little bit of the MVC approach is introduced via routing. For many ASP.NET users routing may be all the MVC needed to improve the structure of their site.
Part 4 of the book is all about working with data and as such covers fairly standard ground - ADO.NET and XML. Part 5 moves on to website security and includes how to manage site membership etc as well as general security considerations.
The final part of the book is titled reasonably but somewhat vaguely "Advanced ASP.NET". This is simply a collection of chapters on fairly unconnected topics that you can leave until you have mastered the basics. Chapter 22 is about component based programming and explains how you can create your own controls from scratch. Chapter 23 is about caching. Chapter 24 returns to database with a look at LINQ and the Entity framework. More mainstream ASP.NET is Chapter 25 which goes into how Ajax fits into ASP.NET. The final chapter is on deployment.
There isn't much bad to say about this book apart from the fairly obvious - it's heavy. ASP.NET is a big topic but it all seems so much simpler if you follow its philosophy as early as possible. This book does a good job of introducing the basics so that the more advanced ideas seem fairly natural and obvious when they are finally introduced. The explanations are good as are the examples and if you can't follow what is going on at any point in the book it is likely that you have missed a basic idea somewhere along the way.
If you want a book on classical ASP.NET to get you started and keep you company as you learn the more advanced ideas - this is it - but make sure you know some C# and make sure you don't want to know about ASP.NET MVC. With these warnings this is the book to buy.