Current Release: 1.0.0
Get this Update
ADME Developer's Kit
Jump to: Download
- For custom control developers.
- Access the web.config file from within design mode.
- Access any other file, including your configuration
files, within the web application and \aspnet_client folders.
- With access to these files, you can provide new
design mode features that access databases or offer user-customizable
- Free with straightforward licensing.
ASP.NET Design Mode Extender (“ADME”) helps custom controls
to provide a better design mode interface. Visual Studio.Net and Web Matrix
provide ‘design mode’, a group of visual editors to show and edit controls that
you add to your web forms. You subclass these classes to support design mode:
- ControlDesigner (in System.Web.UI.Design) draws an
image into the visual design page to represent your control. Some designers
call the CreateChildControls(), OnPreRender() and other methods of the actual
control to generate the HTML. A ControlDesigner can also add commands to the
context menu to extend the editing tools.
- UITypeEditor (in System.Drawing.Design) extends the
Properties Window to provide the user interface that edits a particular
- TypeConverter (in System.ComponentModel) primarily
converts between different datatypes. It also provides one way to show a list
of choices on a property from within the Properties Window.
However the ASP.NET framework has a significant design mode
limitation. It does not provide access to the web.config file or identify the file
paths to your web applications.
- The ConfigurationSettings.AppSettings property (in
System.Configuration) exposes the <AppSettings> section of the
web.config file. In design mode, it retrieves the settings of the IDE’s config
file, not of the web.config file.
- The ConfigurationSettings.GetConfig() method has the same
- The MapPath()
method (in System.Web.HttpRequest,
and several other classes) converts a virtual path to a physical file path. If
you pass “~” to MapPath() at
runtime, you get the web application’s root file path, which you can use to
read various XML files into the web application. In design mode, MapPath() always returns an empty
If you had access to the web.config file and web
application file paths, your users can customize your custom control’s design
Here are some ways your custom controls can use ADME to
improve your user’s design mode experience:
- The web.config file contains your settings that
initialize and customize the web application at runtime.
- Users often place their database connection strings
here. If design mode had access to the database, it could provide new types
- Define customizable default values for your control’s
properties. While you can use the DefaultValueAttribute
to supply one value, your control could check the web.config file for a customized
default as the control is added to the form.
Note: ADME only accesses the web.config file
within the application root folder. It ignores the web.config file in
subfolders and the machine.config file.
- With access to the web application and
\aspnet_client\ folders, you can get to application specific support files.
- Retrieve localized strings from .resx files that
are included in the application so your controls reflect a particular
- Create your own XML configuration file for your control
that allows your users to customize their design mode experience. You may
develop a property where the user picks from a list of classes. Without ADME,
your property’s UITypeEditor or TypeConverter would only be able to show the
list you predefined. Since .net is an object-oriented platform, users should be
able to create new classes. With ADME, your XML configuration file can allow
the user to add new objects into your UITypeEditor or TypeConverter.
example, your control has a property called Shape with these classes listed in
a UITypeEditor: Square, Circle, and Triangle. Suppose a user develops a new
shape class, Polygon. They can add it into your XML configuration file.
- You may want to offer new configuration settings that
are design mode specific, such as a SQL Connection string to a database
associated with your control. While you could have the user place such settings
in the web.config
or your own XML configuration file, you can also expand ADME to store and
retrieve simple strings for you.
What ADME Developer's Kit Contains
ADME Developer's Kit is free and you can distribute the ASP.NET Design Mode Extender itself without charge
or complicated licensing. The idea is to give users one tool that extends design mode support amongst all the custom controls they receive.
- Detailed Developer's Guide, with instructions to code
and ship your custom controls with ADME support.
- The ASP.NET Design Mode Extender, including an
installer that your customers will use to install ADME. ADME is much more than
an assembly. It includes a Windows application and Add-Ins for Visual
Studio.Net and Web Matrix, designed to work around the limitation in the .Net
- Beta Testers Guide. During this beta period, get started developing with ADME and provide valuable bug reports and product feedback.
||ADME Developer's Kit
||1.0 (Current release: 1.0.0)
||This product must be licensed. Read the License Agreement
||Microsoft .Net 1.0 and 1.1