Review: ASP.NET 2.0: Website Programming Problem - Design - Solution
Published: 07 Feb 2007
In this article, Bilal Haidar provides a review of the most practical ASP.NET 2.0 book, ASP.NET 2.0 Website Programming Problem - Design - Solution.
by Bilal Haidar
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 52558/ 164


This is my first book review I submit to and I wanted to start this track with a master piece in the world of ASP.NET: ASP.NET 2.0: Website Programming Problem – Design – Solution.

This book is unique in its kind, unlike other books that are currently present in the ASP.NET books’ market, that are more like references to the new features in ASP.NET 2.0 presented in an island-like form, this book presents the new ASP.NET 2.0 features by developing a new website, using most of those new features (Membership, Profile, Role, etc …), showing how they integrate with each other seamlessly.

Book Idea

The book is an accompanying documentation for a starter kit that can be downloaded by following the link: TheBeerHouse Starter Kit.

The website is developed for a pub named The Beer House. Each chapter discusses a different feature of the website. The discussion within each chapter is divided into three parts. The chapter starts by presenting the problem to be solved, then showing the proposed design and approach to solve it, and finally implementing the solution with detailed explanation on the new ASP.NET features used.

However, in this review I am not going to detail the problem – design – solution. I will simply explain what features of The Beer House website the author is developing and what features out of the ASP.NET 2.0 he is using.

Chapter 1

Chapter 1 presents the main idea of the entire book which is to develop a new website for a virtual pub called The Beer House. The goal of this website is to allow customers of the pub to read about new specials and events, receive a newsletter of the latest additions to the website, browse photos of past events and rate them, share messages with other website visitors through a forum, an eCommerce system to buy products online (beer glasses, T-Shirts, etc …), etc …

Each of the above requirements and more will be the topic of a chapter in the book.

Chapter 2

This chapter discusses the design layout of the website. The author creates a new Master Page, applies a theme to the website, adds a navigation menu to the header section of the master page, and prepares the sitemap file that includes the entire links to all of the available pages in the website. The ASP.NET 2.0 features covered in this chapter include Master Pages, Themes, and Navigation Controls together with sitemaps.

Chapter 3

The website under development includes a set of modules: articles, forums, shopping cart, etc … Logically speaking a separate chapter should be included to decide on the general architectural implementation that should be used through out all the module development and that is what the author have done in this chapter. The website will be a multilayered application where the User Interface, Business, and Data Access layer will be clearly separated.

The similar approach to the new Provider Model in ASP.NET 2.0 will be used so that the website can be easily configured to run with several data stores.

A decision has been taken to use custom entities and domain objects in favor of Datasets/Datatables. A nice discussion in this chapter goes on this topic. You want to know about it? OK, buy the book first and go to chapter 3 J.

In addition, stored procedures will be used to access the database in favor to storing the queries as simple text inside the DAL, mainly in all the modules, except in some places when there is a need to retrieve data and apply both pagination and dynamic sorting, in that case text queries will be used instead.

Finally, different architectural issues on the business layer side were discussed including: Caching, handling Transactions, Configuration Sections, Configuration Elements, and Health Monitoring.

GridView, DetailsView, FormView, SqlDataSource and ObjectDataSource were also introduced as a means to facilitate the UI work later on.

Chapter 4

This chapter discusses the need to allow users to register and get an account on the website and be able to update their profile information. This way, each authenticated user will be able to customize his/her area on the site the way he/she likes. Membership API, Role Management, and Profile new features in ASP.NET 2.0 were presented to show you how easy it is to develop such an authentication/authorization/profiling systems with ASP.NET 2.0.

Chapter 5

In this chapter, the author develops an Article Management system. The chapter starts by designing the database tables and stored procedures, creating the data access layer, the business layer, UI layer, and the configuration section of the Article Management module.

This module, like other modules, includes two set of UI pages: User based pages and Administrative based pages. This way an administrator or editor of the website can update the content of this module, add a new article, remove an article, etc …, through an easy to use interface without the need to have any technical skills to interact directly with the database to do any updates.

Chapter 6

This chapter discusses the implementation of Opinion Polls. The author, as in the other chapters, discusses the problem which is the need to have polls on the website that are easily manageable, the design of developing such Polls at the database, DAL, BL, and UI layers. This module also includes both administrative and public pages so that updating current polls or adding new ones will be an easy task to do even by non technical people.

Chapter 7

This is a very interesting chapter. The author shows how important it is to have a newsletter system so that users of the site can register themselves to receive such newsletters whether in plain text or HTML format.

In addition to discussing the database, DAL, BL, and UI layers, the author presented a nice discussion on the need to have good performance and responsive pages used to send the newsletter. The discussion touched the new Callback feature in ASP.NET 2.0 (wrapper over AJAX), and ASP.NET Asynchronous pages.

The author came up with a nice solution by using both a multithreading technique and a Callback to make the page used by the administrator as responsive as possible.

Chapter 8

In chapter 8, the author develops a forum system so that users on the website can discuss online any issues related to The Beer House pub. There are sub forums i.e. categorized forums, and each forum lists the threads and posts that belong to a specific forum.

Again, both administrative and public pages were developed so that administrators can manage the forums, moderate threads and posts, add new forums, etc …

Chapter 9

This is the most complicated chapter in the whole book. It discusses creating an eCommerce store for the website where the site owners can sell products such as beer glasses, T-Shirts, and others items.

In addition to discussing the database, DAL, BL, and UI layers, the author discusses how to choose an online payment solution and explains to us what payment solution he has chosen to use for this eCommerce store module.

The implementation included developing the administrative and public pages, shopping cart pages and user control. The author showed how important it is to use the ASP.NET Profile feature in this module, which used to take so much time during the ASP.NET 1.1 era.

Chapter 10

This chapter discusses the coolest feature in ASP.NET 2.0, Personalization and Web Parts. The author has decided to make only the website’s home page Web Part enabled. Users can now login to their account, change the layout of the home page, add new content, and remove content the way they want.

The home will have a default layout that is seen by all anonymous and registered users and each user can have his/her look of the home page.

Chapter 11

In this chapter the author discusses the new features of ASP.NET 2.0 related to localization of a website and making a website accessible by different users in different regions in the world.

He clearly discusses the new features of localization in ASP.NET 2.0 including the Local Resources and Global Resources and the different ways to access those resource files in both the BL and UI layers.

Chapter 12

This is the last chapter in the book. This chapter discusses how to deploy an ASP.NET 2.0 into a hosting company.

The discussion first focused on the different options a developer can have to backup the local database and upload it to the hosting company SQL server. Then, the author highlights the different compilation features included in ASP.NET 2.0 including simply upload of all the files of the web application, pre-compilation, and finally how to use the Visual Studio 2005 Web Deployment project that has been developed as an add-on to the Visual Studio 2005.


In this book review, we have briefly summarized the idea behind all the chapters included in the ASP.NET 2.0 Website Programming Problem – Design – Solution.

The book is essential to any serious developer working with ASP.NET 2.0. The secret behind this book is the way the author presented the different features in ASP.NET 2.0 in non-usual form, which is by developing a module and showing how a feature in ASP.NET can be used in developing a certain module.

I believe this book together with a reference ASP.NET book on the different controls present is enough for a developer to start developing in ASP.NET 2.0!

About the Book


ASP.NET 2.0 Website Programming Problem – Design – Solution


Marco Bellinaso




May 2006





Related URL


User Comments

Title: nice tip   
Name: none
Date: 2009-10-02 6:18:25 AM
Good Review.
I liked that you have stated that a this book is best used with a reference book.

Product Spotlight
Product Spotlight 

Community Advice: ASP | SQL | XML | Regular Expressions | Windows

©Copyright 1998-2021  |  Page Processed at 2021-12-04 6:15:40 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search