ASCX Control Parser


Have you ever wanted to turn a .ASCX file into a distributable control?This program generates the source code for an .ASCX file so that you cancompile it without having to distribute the .ASCX file. It comes close tosimulating how the Page.LoadControl ("asdf.ascx") works.

Usage:
* Run the exe file, paste in the ascx code into the textbox.
* Choose the output class name (it will be created in the ASP namespace – but you can change this manually)
* The "Has base class?" checkbox sets the parser to declare the controls or not. If this is ticked then the base class should have declared each control already.
* Click go, and the C# code will be outputed in the same textbox.
* Put the code into a new class in a web application and hopefully it should compile.
* To add the code to a page you would do this: (Assuming that the class was called CDefault and the namespace was left as ASP.

//=======================================================
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
Control c = new ASP.CDefault();
this.Controls.Add ( C );
}
//=======================================================

Known issues:
* Compiler directives are ignored so regitering controls other than asp controls (asp: namespace) must be done manually. You may have to do some editing on the output to suit your needs (such as code-behind class, etc).

* List properties are not loaded properly. For example, the property Font-Names on a label control is actually a string list (string[]). The parser can't tell if a property is a list because it can't always do reflection on the type (any ideas how to fix this?).

TODO:
* Add a VB.NET output, currently the output is only written for C#.
* Make it a Visual Studio Add-In.
* Recognise compiler directives.

Registration – If you like it, please send an email to bvk@villagechief.com

If you make any changes or additions, please send them to me at the above email address.

Download ASCXParser.zip

Copyright and License – This is freeware to dowith as you see fit. The author accepts no responsibility for anydamage or data loss caused by this program.

Most Commented Articles :

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

No comments yet... Be the first to leave a reply!