mr. dropdown,
yes this is possible. you need to investigate the ControlBuilder
class:
http://msdn.microsoft.com/library/d.../frlrfsystemwebuicontrolbuilderclasstopic.asp
as this will show you how to parse custom html into strongly typed
classes. basically, your just:control class will have a ControlBuilder
attached to it via attributes, ex:
namespace Just {
[ControlBuilder(typeof(JustControlBuilder))]
public class SomeControl : Control {
}
}
first you'll need to build a class that extends the ControlBuilder
class (JustControlBuilder in the above example). this class has 2
methods you need to worry about; GetChildControlType and
AppendLiteralString. before Control.AddParsedSubObject is called,
SomeControl (above) will call GetChildControlType from your control
builder, passing the tagname of the html tag its parsing. basically,
if its a tag you're looking for you return the type of the class it
represents (see below). AppendLiteralString controls whether literal
text within your control's boundries will be handled or not.
next, you'll need a class (extends control) to represent each of the
items in the dropdown. per your description, you'd basically need 3
classes; one generic dropdown item class, and 2 collection classes to
represt itemA and itemB (perhaps one base class both can derive
from...).
each of the associated child controls can have their own control
builders to further parse nested html. the functionality is up to you
to implement...get as detailed as you'd like.
here's a link to someone who was having a similar issue (parsing
nested html), and their resolution:
http://groups.google.com/group/micr...k=st&q=controlbuilder&rnum=2#1b67c98bae515c20
hope this helps,
Mike MacMillan