Release: CSS Friendly ASP.NET 2.0 Control Adapters Beta 1

UPDATE #2: These are about to go back online, version Beta 1.1 (last update 4/29/2006) — thanks for your patience.  If you downloaded the Beta 1 verison (4/27/2006) please be sure to get the new version and only use the bits from that.  Enjoy and sorry for the inconvenience/teaser 🙂


UPDATE: We are experiecing some issues with this on our end and we will be working through them over the weekend.  Expect the site to be available again on Monday or Tuesday — I’ll Update the blog post.


ScottGu mentioned this earlier in the month, but I’m happy to announce that this is now live at  The CSS Friendly Adapters are a set of sample adapters, documentations, and a sample Web site that show how to take advantage of the ASP.NET 2.0 control adapter architecture to control the rendering output of controls.


One of the biggest pieces of feedback that we have heard about some ASP.NET 2.0 controls is that they render markup that is often difficult to style with CSS.  These sample adapters (TreeView, Menu, DataList, FormView, DetailsView) show how to take advantage of the extensibility architecture of controls and customize the output to be more “CSS friendly.”  


For example – -the menu control by default renders a complex set of tables and spans to create itself.  In a perfect world it would render a set of <UL> and <LI> tags that would be styled and controlled through CSS.  The menu control adapter accomplishes this.  Each of the other samples improves the CSS friendliness of the control rendering in similar amazing ways.

In addition to the adapters and a fully functional sample Web site that consumes them, the kit has a detailed whitepaper that explains the philosophy behind these specific adapters, and provides deep insight into how the adapter architecture works which will make it much easier for you to customize these existing adapters (if they don’t meet your needs as is) and create your own for other controls.

The kit is licensed under the Microsoft Permissive License (MS-PL) meaning you can do whatever you want with them, create derivative works, productize, include in packaged apps, create a community around them to build even more adapters, you name it!  It is incredibly ‘permissive’ J    

This has been a pet project of mine for the better part of 3 months so I am particularly excited to get the Beta out the door.  We want to get your feedback, your bugs, and your comments so that we can incorporate them into the final release of the sample.    

So let me know what you think, post in the forum at:    

Oh and if you are using IE7B2 we are very aware of a major rendering issue with the view-source function of the hosted and sample site.  This is a known IE7B2 bug and it will be fixed in a future release of IE7 (they tell us for Beta 3 for sure!)…    


Comments (10)

  1. Carlos Lone says:

    Great News. Thanks for all these helpful stuffs, We really apreciate that you’re building things more community oriented. I ‘ve visited the site and It’s awesome.

  2. (Je suis supris que nos blogers CSS / .Net ne l’ai pas vu mais ce n’est pas si grave )

    Comme l’avait…

  3. Graham Dyson says:

    Fantastic stuff. I’ve been holding off on using some of more complex ASP.Net 2 controls because of all of those tables, have no reason to now.

  4. Ward Bekker says:

    The team released today the Beta 1 of the CSS friendly ASP.NET 2.0 control adapters..

  5. Jaime Arturo says:

    I’ll take a course in ASP.NET, but I’m a Macintosh user, do you have Mac version of this software, or there’s a way to use it in Macintosh Operative System (MacOS X) since this OS use Unix programation?

  6. bgold says:

    Jaime — ASP.NET is a component of the .NET Framework and only runs on a Windows server.  You can develop against it using any text editor, but would need to be compiled on Windows.  The Web sites you produce however are standards based and will across all modern browsers on any OS.

  7. JackP says:

    It’s a great step forward towards table free design, but what I’d really, really like to see is the .NET framework (or an update of it) do the work. Why should I have to go to all the trouble of telling .NET I don’t want tables for layout by creating adapters? Could you not offer a CSS/Table toggle on the controls and have a framework update that’s able to render it properly?

    I don’t have the skillset yet to be able to create or really customise these adapters, yet I’m sufficiently comfortable with the likes of HTML and accessibility to want to be able to create controls that don’t use tables for layout. Come on… make my life easier!

  8. Len says:

    Maybe this has been answered somewhere else, but wanted to ask…would leveraging these techniques exclude the use of Themes, or is there a strategy for leveraging both?

  9. Len, the CSS Friendly Adapters work great together with themes. Since the adapters rely on external style sheets for formatting, you can deploy these as part of a theme easily.

    On top of that, you can precisely control which browsers will receive the clean adapter output by modifying the .browser file. For the browsers not included in there, you can define contol skins in .skin files as usual. This way you get the best of both worlds: css-only rendering for the browsers defined in the .browser file and "conventional" rendering using the defined skins for all others.