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.
What is cool 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).
The CSS Control Adapter Toolkit includes a bunch of pre-built control adapter samples that show how you can use the control adapter architecture to emit 100% CSS based rendering output (no tables or inline styles – instead use external CSS stylesheets for everything).
References:
http://weblogs.asp.net/scottgu/archive/2006/05/02/444850.aspx
http://weblogs.asp.net/scottgu/archive/2005/12/21/433692.aspx
http://msdn.microsoft.com/en-us/library/ms228122.aspx
http://msdn.microsoft.com/en-us/library/67276kc5.aspx
http://www.asp.net/CssAdapters/
http://msdn.microsoft.com/en-us/magazine/cc163543.aspx