10
It sounds like custom server controls are what you are looking for.
If your controls are a combination of other server controls (e.g. a textbox and a button for a date control), then you could look at CompositeDataBoundControl and CompositeControl - these are handy ways of working with this sort of thing.
Beware, however, that it is very easy to get confused by the way the page cycle/viewstate re-hydration works. I've lost quite a bit of time over this, due to subtle misunderstandings of how it should work.
http://aspnetresources.com/blog/composite_databound_control.aspx