This book is a must have for any beginner; it's a practical step by step guide to building your own ASP.NET web site. The book is written by Zak Ruvalcaba. This is one of those rare books that show you side by side both VB.NET and C# for every step you make. I found it refreshing to see a book designed in this format. Many times, a book would be in only one of the popular languages and possibly include the other popular language on a CD.
This book is broken up into 17 rich chapters that take you step by step in the building process. It also includes a 3-part reference section for many of the controls and classes used in the book. Below is a synopsis of the chapters.
This chapter contains the most thorough instructions I have ever read on what .NET is and how to get the required software setup. The information given goes beyond just teaching you how to build web site. There are even instructions on solving problems and how to administer IIS. The book then goes into how to setup a database backend. It explains both Access and MSDE for the development environment and how to install each of them. You are then shown how to create a simple html page to get you started. Over all a must read chapter for anyone getting into web development.
This chapter goes though ASP.NET basics. It does an excellent job of showing a novice developer exactly what everything in a simple ASP.NET page is and what all the server tags are as well as what each item is.
VB.NET and C# Programming Basics is another great chapter. This chapter can also serve as a basic reference chapter for beginners when converting code between the languages. It goes though everything from variable declaration to control events and handlers and shows you how to do each in both languages.
This chapter deals with Web Forms and Web Controls. It covers many of the controls, how they work and how to use them. It goes though the standard HTML controls as well as the server controls (web controls) and then ties it all together using them with web forms. This chapter shows you how to create a basic site solution also.
In the Validation Controls chapter, the author goes though the differences between client side and server side validation as well as what validation is. We learn how to implement validation using both server and client methods as well as combination of methods. It also goes though several of the validation controls that come with ASP.NET such as configuration and set up.
The Database Design and Development chapter is another good reference tool chapter. In this chapter we learn what makes a database and how a database is composed. We also learn how to use Access and Web Data Administrator (for both SQL Server and MSDE). The author goes though how to create databases, tables and columns. We learn about keys and relationships between keys as well as indexes. Included are some great tables on data types, translation tables between Access data types and SQL Data Types. In general this is a great starting point for learning about databases and simple database design.
Structured Query Language, here the author dives head first into SQL in the Structured Query Language chapter. He shows how to use the wizards to build SQL statements, how to enter it manually and what each basic SQL bit is. The book gives you many useful examples throughout including operators and functions.
The author's introduction to ADO.NET explains what some of the classes do. However, one item I never saw mentioned was data adapters. Everything else you would need to know is included (update, select, delete and insert). There is even a good explanation on using parameters with queries and stored procedures.
The DataGrid and DataList Controls are two controls not talked about until this chapter. These two controls are the ones you will use in a large percentage of your applications. They are great for quick data views or data entry screens and can save you a lot of time. This chapter goes into detail of how to use the DataGrid and DataList and explains how you can customize the data as needed.
By far the biggest change from asp to asp.net is how you organize your data tables. The chapter on DataSets does a great job of explaining what a DataSet is and how it's used. Then you dive right into how to use DataSets and the associated DataTables. This is a chapter that I'm sure you will be referencing over and over again. Many applications built today rely on data making this one of the most important chapters in the book.
The Web Applications chapter explains the application state and how to use it. It also teaches about the global.asax file and web.config file, the web developer's best friends. The author also goes though cache and working with user sessions.
What would a web application be doing? Most are either A) for information or B) to sell something. This chapter goes though how to develop use and setup a shopping cart. It then gets into how to process the order (via Pay Pal), even though I disagree with using Pay Pal as an example for a credit processing center, I still believe it to be very interesting reading and it shows how to integrate with Pay Pal.
My thoughts are that the Error Handling chapter should have been a little higher on the totem poll. It's just my opinion, but the first thing before building a site that should be learned is how to handle errors. This chapter does do a great job of explaining the types of errors and how they occur. It shows how to catch and handle errors, there is even information on sending the errors to the event log. Debugging is also covered here. Everything from how to attach to a process to creating breakpoints and stepping though code.
Security and User Authentication, one of the most important bits of information you will need while doing web development. This chapter does go though using a database to store names and passwords although the method to check the login is flawed and open to SQL injunction attack as found on page 544. I could not find any information on how to prevent such attacks in the login bit of the site or anywhere else. This chapter does however, go though how to display a custom error message and authenticating users via Forms Authentication.
In Working with Files and Email the author goes though how to work with files and read/write files such as text files to/from a storage medium. He also discusses serialization and how to setup and send email from the application. There is an excellent newsletter example included.
In Rich Controls and User Controls we learn about building user controls and the more advanced rich controls. This chapter also goes though XML and XSLT. There is a good bit of information devoted to user controls in this chapter.
Web Services, web services anyone? This chapter is well worth reading. It goes though what and how web services are used and some great pull and push examples of web services plus how to design and build them.
The one thing that I'm surprised the book didn't go into is any advanced topics such as threading and custom control design and construction. As in many other books, it also did a poor job of explaining OOP and topics such as designing classes that are CLSCompliant.
My overall opinion is that this book is a must read for anyone wanting to leverage the power of .NET. The book includes a web site for downloading samples, which in my opinion is much better than including a CD, as CD's can have bugs and the site should have the latest code. It's a fun book and full of personality.
The best place to buy this book is at: