Creating a generic list of anonymous types

Scenerio

I have a simple HTML form on a ASP.NET Web page. This form is to post a number of values including several elements that are compulsory to perform several actions on the server. As we know, when we post values to ASP.NET these are available for Request.Form. All we know is the key and value in the NameValueCollection object. I want to be able to check if several values are present and if they are not, return the respective element meta-description rather than the original name.

For Example If we post a name field called formName, we want to return “You must enter data into the fields: Form Name”.

Solution

I used a generic list of a anonymous type. My anonymous type has a Name and a Value property.

var nameValueInstance = new { Name=”formName”,Value=”Form Name”}

I created a list factory that pases in a array of generic type interfaces and returns a generic list of the generic type interface.

private static List<T> MakeList<T>(params T[] items)

{

List<T> newList = new List<T>(items);

return newList;

}

I was then able to do the following to create a generic list of anonymous types:

var fields = MakeList(new { Name = “price”, Value = “Price” }, new { Name = “productname”, Value = “Product Name” });

From here I was able to interate through the list and validate the Form elements and return the nessessary output.

References:

http://kirillosenkov.blogspot.com/2008/01/how-to-create-generic-list-of-anonymous.html

ASP.NET Server Controls using XML/XSL

Scenario

I have developed a framework that allows me to have multiple XSL templates transformed onto an ASP.NET web form. This works well without any ASP.Net server controls on the XSL templates. The question I wanted answered is how to have ASP.NET server controls on a XSL template so that I can dynamically create controls from XML files.

Solution

I found a great article from John Chapman (see below) that explains this in detail.By applying xmlns:asp=”remove” to the element, this tells the parser to apply the format to each server control. i.e. .All is needed now is to do the transformation, remove the namespace from the outputted code and parse the controls to the web form. This also means that event handlers need to be dynamically added if the control is being dynamically created!

Its worth checking out the article below for a better explanation!

References:

John Chapman – Creating Dynamic ASP.Net Server Controls Using XML
http://www.dnzone.com/showDetail.asp?TypeId=2&NewsId=151&LinkFile=page3.htm