我发现皮肤文件只有放在App_Themes文件夹的根主题文件夹中才有效。
例如,如果App_Themes文件夹中有2个主题,则无法将另一个子文件夹添加到主题文件夹中,并在该子文件夹中放置单独的外观文件。
这不是一个限制,但它可以让您更灵活地进一步自定义应用程序。
任何人都可以解释为什么会出现这种情况,就像在2.0中一样吗?
答案 0 :(得分:1)
你的皮肤文件是否应该有扩展名.skin?我总是称它们为theme.skin,并给它们与文件夹相同的名称。例如,在主题col2中,文件夹是
App_Themes文件\ COL2 并包含css和col2.skin
Microsoft是您最好的参考:
答案 1 :(得分:1)
ASP.Net中的主题不提供从“子主题”中选择的能力。
但是,您可以在皮肤文件中设置SkinID。例如,在.skin中:
<asp:DataList runat="server" SkinID="DataListColor" Width="100%">
<ItemStyle BackColor="Blue" ForeColor="Red" />
</asp:DataList>
<asp:DataList runat="server" SkinID="DataListSmall" Width="50%">
</asp:DataList>
然后,当您想要调用其中一个时,只需为数据列表指定所需的SkinID。
答案 2 :(得分:0)
更改此行为的唯一方法是通过 VirtualPathProvider - 有以下几点: http://www.neovolve.com/page/ASPNet-Virtual-Theme-Provider-10.aspx