14 months ago my wife went to China for a week and I found myself with a ton of spare time. So I did what any young, virile male living in Los Angeles would do – I stayed up until 3 am creating custom ASP.NET controls.
14 months ago the only .NET AJAX controls on the market were Dart’s PowerWEB LiveControls, which were pricey, so I figured anything I built dealing with AJAX would be popular. However, I knew the compexity of trying to implement an AJAX textbox, label or panel and, realizing I only had a few evenings on my hands, decided to look for a project I could complete in the time I had available.
During my research I stumbled upon Walter Zorn’s amazing open source DHTML API/Library for manipulating images and layers inside the browser. I quickly decided to wrap his API in a few custom ASP.NET controls, and the Draggable ASP.NET controls were born.
The controls are:
- Cross-browser. Draggable ASP.NET controls are compatible with IE 4+, Firefox 0.6+, and Netscape 4+
- Quick. Just drag and drop them on your web form and you’re good to go
- Customizable. All properties are configurable at design or run-time, and full source code is available
- Flexible. Make any control draggable by placing it inside a Draggable ASP.NET Panel
- Server-side. Designate a Draggable ASP.NET control as a container and drag other controls into it, firing a server-side event
The Source Code
I wrote all code in .NET 1.1 but converted it to 2.0 last weekend. VS.NET 2005 gives a few warnings when compiling the controls because of methods that are now deprecated in 2.0, but everything compiles and works properly. This is release v0.9, but I plan to do a 1.0 release once someone has time to fix and test the compiler warnings.
The installation package for the v0.9 binaries is available here. It includes an MSI, installation instructions and documentation.
The source for the v0.9 Draggable controls is available here.
I’m releasing these controls under the Attribution 1.0 License. This means the controls can be used as you please, but you must give attribution. The controls may be modified and distributed in both commercial and non-commercial applications, but the attribution must be made clear in this distribution.