server control collection with several types of properties

M

mr dropdown

Is it possible to implement a server control that will look like this:
<just:control>
<columns>
<columnTypeA id=1></columnTypeA>
<columnTypeA id=2></columnTypeA>
<columnTypeB id=3></columnTypeB>
<columnTypeB id=4></columnTypeB>
</columns>
</just:control>

While columnTypeA is a collection and columnTypeB is a different collection?
Another option is that both tags will be in the same collection (if
possible..)
Thanks.
 
M

Mike MacMillan

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top