Introduction

Sometimes we need to have search engine friendly URLs for our application. In ASP.NET (before ASP.NET MVC/3.5 SP1), we had to use some third party tools like URL rewriter, which work fine but require wild card mapping in IIS and have issues with IIS7.

ASP.NET MVC has introduced the System.Web.Routing assembly for rewriting URLs; now, it is included in ASP.NET 3.5 SP1. Using the routing assembly, you can have search engine friendly URLs like http://mysite.com/add_new_user.

Now we can use the System.Web.Routing assembly in our ASP.NET website to create such URLs. (Please see the download file from above.)

Using the code

You can find the complete source code from the download provided above (url_routing.zip). Unzip the file and open using Visual Studio 2008 (open the website wizard), and you will need to browse to the folder "url_rout" (that should contain the web.config file).

First of all, you have to add a reference to System.Web.Routing in your application, or you can add the following line in the web.config (under the assemblies section). You must have ASP.NET 3.5 SP1 installed.

IUserDisplay has to be implemented by the page to be rendered (DisplayUser.aspx, in this case) as shown below, so that the unique identifier (UniqueName, in the case) or parameter will be found in the page, which can be used to show the appropriate data (like the query string).

Points of interest

I have found that all samples and tutorials on this topic are for either ASP.NET MVC applications or web projects, and nothing if I want to create a normal ASP.NET website (however, there are not much differences between them). Here are some useful links for routing: