ASP.NET 2.0: файлы скинов работают только при размещении в корневой папке темы?

Я обнаружил, что файлы скинов работают только в том случае, если они помещены в корневую папку темы в папке App_Themes.

Например, если у вас есть 2 темы в папке App_Themes, вы не можете добавить другую подпапку в папку темы и поместить отдельный файл скина в эту подпапку.

Это не является большим ограничением, но даст вам больше гибкости для дальнейшей настройки приложения.

Может ли кто-нибудь пролить свет на то, почему такое поведение происходит, как в версии 2.0?


person Community    schedule 15.09.2008    source источник


Ответы (3)


Ваш скин-файл должен иметь расширение .skin? Я всегда называю их theme.skin и даю им то же имя, что и папка. Например, в Theme col2 папка

App_Themes \ col2 и содержит css и col2.skin

Microsoft - ваш лучший справочник:

person Community    schedule 16.09.2008

Темы в 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 вы хотите использовать для своего списка данных.

person thomasb    schedule 16.09.2008

Единственный способ изменить это поведение - использовать VirtualPathProvider, что-то вроде: http://www.neovolve.com/page/ASPNet-Virtual-Theme-Provider-10.aspx.

person Nariman    schedule 15.06.2010