Mink Machine

Dynamic type creation in ASP.NET

ASP.NET web controls are usually littered in the markup in design time, but sometimes there is a need to dynamically add controls to an ASP.NET web page in runtime. Its quite easy to generate a server control from a string. The built-in types are stored in the GAC and requires a fully qualified strong name, such as:

“System.Web.UI.WebControls.Button, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”;

This information can be found at c:\windows\assembly where you can view the properties of the assemblies. Once you got the strong name, the control can be created and eventually added to the controls collection of another control.

string s = “System.Web.UI.WebControls.Button, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”;
Type t = Type.GetType(s);
Control c = (Control)Activator.CreateInstance(t);
f.Controls.Add(c);

Comments

No comments yet.

Post a comment

Your email address will not be published. Required fields are marked *

Featured stories

Eating my way through Basque country

"Not too bad to wash it all down with a local Txakoli, the young white wine typical of the Basque country."

Roaming the cobblestones of Istanbul

"Inside the church there are still traces of rune inscriptions made during the Viking age by Varangians, an elite guard made up of Scandinavian immigrant warriors."

Sessions in Seville

"I end my journey in front of the tomb of Columbus, located inside the world’s largest Gothic cathedral."

Bunker safari

"The area contains 54 excavated bunkers along with gun emplacements, scattered around the town’s most visible landmark."

Greetings from Moldova

"But Chisinau is an unexpected gem in the wilderness. Even though Moldova is one of the poorest countries in Europe, the capital has its fair share of impressive buildings and post-Soviet architecture."

On the Trans-Siberian

"Since the toilets were locked during the seven hour stop, we had to bribe the provodnitsas to use the facilities. Then came the Mongols."