It took me 3 weeks and several thousand lines of code. I.o.w.: if you really want a datasourcecontrol implementation for yourself, it's hard. The objectdatasource is also not great, no matter what you do. Best way is to do one-way databinding, and add the extra glue code yourself for now. That has always worked since asp.net exists, and it still works.