Beginning ASP.Net 3.5 in [C# / VB] 2008
From Novice to Professional
Matthew MacDonald wrote C# and Visual Basic versions of this book, and my review covers the C# version. Since the books were published 3 days apart, I assume (but have not checked) that they have very similar content with the slight syntax differences of the two languages. He also wrote "Pro ASP.Net 3.5..." books in both languages, covering more advanced topics at a faster pace.
I like MacDonald's books, and I'm at two so far. Although this massive work resembles a phone book (it's even yellow), it is very readable and to-the-point. It makes good use of screenshots and diagrams, so it isn't as long as it appears. The code examples are clear and useful.
ASP.Net can be greatly simplified by concentrating on the "drag-and-drop" features of Visual Studio. There are a number of books and web tutorials that use this approach, without really explaining what's going on under the covers. MacDonald explains HTML, server-side development, the .Net framework, Visual Studio, C#, and some history of web development technology before getting to the programming part of the book.
And this is a programmer's book. The title "Beginning" means that he starts at the beginning, but he moves at a good pace. Some experience with programming and databases is assumed, and you won't like this book if you don't like looking at code. By the end of the book, you're into topics like AJAX and optimizing your site to handle large loads. You really can use this book to go to "Professional" level, but I'm not sure that it's appropriate for a complete "Novice".
"Classic" ASP developers will appreciate that he discusses strategies for utilizing their knowledge and existing web sites, while moving to the .Net way of doing things.
The book is well-written, thorough, and has good examples. It is almost a library in itself. Topic coverage is wide and reasonably deep. Source code is available for download.
The title is way too long and awkward. (Petty, I know.) My copy was poorly glued and the cover has come off. He recommends putting your C# code in a separate code-behind page rather than in the ASPX file, but doesn't explain the recommendation.
This is the best of the several ASP.Net books I own. I look forward to more from Mr. MacDonald.