App_Themes question

Ok time for something completely different.

I have another little app I’m writing, and I need skinning ability (yes, it HAS to be in webforms).

What I would LIKE to be able to do is have something like the following in the aspx file:

<asp:ListView ID=“AssetList” runat=“server” SkinID=“assetList” OnLoad=“AssetList_Load”>
</asp:ListView>

And in two different app_theme skin files:

<asp:ListView runat=“server” SkinId=“assetList”>
<LayoutTemplate>
<ul><li id=“itemPlaceholder” runat=“server” /></ul>
</LayoutTemplate>
<ItemTemplate>
<li><%# Eval(“Id”) %> - <%# Eval(“Name”) %></li>
</ItemTemplate>
</
asp:ListView>

And:

<asp:ListView runat=“server” SkinId=“assetList”>
<LayoutTemplate>
<table>
<tr><th>ID</th><th>Name</th></tr>
<tr id=“itemPlaceholder” runat=“server” />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr><td><%# Eval(“Id”) %></td><td><%# Eval(“Name”) %></td></td>
</ItemTemplate>
</
asp:ListView>

Now, we can’t do this because code blocks aren’t allowed in skin files. So how can I completely reformat the way the list view is rendered? Depending on the skin chosen by the user (via drop down), the UI can use totally different html elements.