Basically a
control adapter allows you to plug-into any ASP.NET server control and
override, modify and/or tweak the rendering output logic of that
control and the cool part about control adapters is that they do not
require a page developer to program against a new control, or modify
the control programming model semantics (you still use the same control
properties, methods, events and templates you did before). Indeed
– a page developer can be entirely oblivious that a control adapter is
being used (the control adapter model makes it very clean to register
and encapsulate this support).