スキン ファイルは、App_Themes フォルダーのルート テーマ フォルダーに配置されている場合にのみ機能することがわかりました。
たとえば、App_Themes フォルダーに 2 つのテーマがある場合、テーマ フォルダーに別のサブ フォルダーを追加して、そのサブフォルダーに別のスキン ファイルを配置することはできません。
これは大きな制限ではありませんが、アプリをさらに柔軟にカスタマイズできるようになります。
2.0のようにこの動作が発生する理由を誰かが明らかにできますか?
スキンファイルの拡張子は.skinである必要がありますか?私は常にそれらをtheme.skinと呼び、フォルダーと同じ名前を付けます。たとえば、テーマcol2の場合、フォルダは
App_Themes \ col2であり、cssとcol2.skinが含まれています
マイクロソフトはあなたの最高のリファレンスです:
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 を指定するだけです。
この動作を変更する唯一の方法は、VirtualPathProviderを使用することです-http: //www.neovolve.com/page/ASPNet-Virtual-Theme-Provider-10.aspx