Most of the primitive types in the CLR have a Parse method that takes a string and parses it into its own data type. I could be DateTime.Parse(string) or Int.Parse(string) etc. It’s a great way of doing late binding and adds another layer of flexibility to your code.

In ASP.NET you can parse strings as controls and add them to the page or GridView or any other control. It basically means that you can late bind the different controls of a page. Imaging having all the different types of controls you want to use in a predefined XML file and then load them dynamically. Then you only have to change the look and feel of them in one place.

In this example I parse a simple <div> tag and give it an ID so that it can be found in the controls collection.

Control div = ParseControl("<div>Some custom control</div>");

div.ID = "div";

Page.Controls.Add(div);

 

// Find the control by its ID

Control control = FindControl("div");

You can also parse server controls, but they don’t need an ID if you add the attribute yourself.

>

ParseControl("<asp:textbox runat=\"Server\" id=\"txtName\" />");

The ParseControl method can be used to create some extraordinary flexible and extendable web applications if it is used correctly. It could easily become difficult to maintain a website with too many dynamically added controls, if it’s not well thought through so be careful.

The build process in ASP.NET 2.0 is very different than in ASP.NET 1.x, because it does not produce a dll file. That means that you cannot use FxCop because it can only work with dll and exe file types. However, there is a way to produce dll files from your web application within Visual Studio 2005 and those dll files can be used by FxCop.

These are the steps to follow to make FxCop analyse your web application:

Step 1

Create a new folder somewhere on the disk. It could be C:\deploy

Step 2

Publish the web application into the new folder

Step 3

Open FxCop and add all the dll files from the newly created bin folder (C:\deploy\bin) to be analyzed.

For those of us not using Visual Studio Team System, these are the steps we need to follow to analyse our web applications in FxCop. Let’s hope the next version of Visual Studio have fixed this issue.