ASP.NET 2.0 ÖÐÐÂÔö¼ÓÁË Theme µÄ¹¦ÄÜ£¬ËüµÄ³öÏÖÄÜÈÃÍøÕ¾ÊµÏÖ»»·ô¸ü¼ÓÈÝÒס£
Theme µÄʵÏÖ°üÀ¨£ºCSS¡¢Skin¡¢MasterPage¡£
CSS ÊÇÓÃÓÚ¿ØÖÆËùÓÐ HTML ±ê¼ÇµÄÍâ¹Û¡£
Skin ÊÇÓÃÓÚ¿ØÖÆËùÓÐ ASP.NET ·þÎñÆ÷µ÷ÕûµÄÍâ¹Û£¬²¢ÇÒ¿ÉÒÔͨ¹ýÊôÐÔ CSSClass ¶¨ÒåËüµÄ CSS Ñùʽ¡£
MasterPage ÊÇ *.ASPx Ò³ÃæÄ£°æ£¬²»¹ýËüûÓб»¶¨Òåµ½ Theme ÖС£
------------------------------------------------
·´´½¨ Theme µÄÀý×Ó£º
1¡¢ÔÚ Web ÏîÄ¿Öд´½¨ App_Themes Ŀ¼¡£ËüÊÇÔ¤¶¨ÒåµÄĿ¼£¬ASP.NET 2.0 »á×Ô¶¯Ê¶±ðÆäĿ¼Ï嵀 Theme ¡£
2¡¢ÔÚ App_Themes Ŀ¼´´½¨ orangeTheme¡¢BlueTheme Á½¸ö×ÓĿ¼¡£
3¡¢Îª App_Themes ϵÄÿ¸ö×ÓĿ¼Ìí¼Ó Skin Îļþ£¬Èç Control.Skin ¡£ASP.NET 2.0 »á×Ô¶¯·ÖÎöÿһ¸ö Skin Îļþ£¬ÔÚÕâÀïµÄÃüÃûÖ»ÐèҪΪÁË¿ª·¢Ê±·½±ã·ÖÀà¡£
4¡¢Ò²¿ÉÒÔΪ App_Themes ϵÄÿ¸ö×ÓĿ¼Ìí¼Ó CSS Îļþ¡£ASP.NET 2.0 Ò²»á×Ô¶¯½«Ã¿Ò»¸ö CSS ÎļþÌí¼Óµ½Ã¿Ò»¸öʹÓôËÑùʽµÄÒ³ÃæÖÐÈ¥¡£
·¶¨ÒåÒ³ÃæÄÚÈÝÓë Theme Ñùʽ
1¡¢default.ASPx Ò³Ãæ¶¨ÒåÈçÏ£º
<%@ Page Theme="OrangeTheme" %>
2¡¢ÔÚ OrangeTheme Ö÷Ò³µÄ Control.Skin ÎļþÖж¨ÒåÈçÏ£º
×¢Ò⣺ֻÄÜÖ¸¶¨Íâ¹ÛÊôÐÔ£¬²»ÄÜÖ¸¶¨Èç AutoPastback µÈÊôÐÔ¡£
ĬÈÏδÃüÃûµÄ Skin ½«»áΪËùÓÐ TextBox ÀàÐͶ¨ÒåÍâ¹Û¡£
ÒѾÃüÃû SkinID µÄ½«¿ÉÒÔΪָ¶¨ TextBox ÀàÐͶ¨ÒåÍâ¹Û¡£
·ÔÚÒ³ÃæÖÐʹÓà Theme
1¡¢ÔÚ ASPx Îļþ¶¥²¿ <%@ Page %> ÖÐÌí¼Ó Theme="Default" ÊôÐÔ¡£ÕâÑùËü¾Í¿ÉÒÔʹÓà Default Ö÷ÌâÁË¡£
2¡¢Èç¹ûÏëµ½ÔÚÕû¸öÍøÕ¾Ó¦ÓÃij¸ö Theme ¾ÍÐèÒªÔÚ Web.Config ¶¨Òå¡£
ÕâÑùµÄ¶¨ÒåÏ൱ÓÚĬÈÏÒ»¸ö Theme ÔÚËùÓÐÍøÕ¾ÎļþÖУ¬Ê¹ÓÃʱÈÔ¿ÉÒÔΪÿ¸öÒ³Ãæ¶¨Òå Theme ¡£
Skin ²¿·Ö»áʹÓà Page ÃæÖж¨ÒåµÄ Theme £¬¶ø CSS »áÖØÔØÄ¬ÈÏÖ÷Ò³ÖÐµÄ CSS Ñùʽ±í¡£
3¡¢Ö¸¶¨ºÃ Theme Ö®ºóËùÓеÄÍâ¹Û¶¼»áʹÓà Skin Öж¨ÒåµÄ¡£ÄãÒ²¿ÉÒÔÖ¸¶¨¿Ø¼þµÄ SkinID À´¶¨Òåµ¥¶ÀÍâ¹Û¡£
4¡¢Èç¹ûÏëÓñà³Ì·½Ê½¶¨Òå Theme ±ØÐèÔÚ Page_PreInitʼþÖд¦Àí£¬ÈçÏ£º
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
Èç¹ûÐèÒªÒÔ±à³ÌµÄ·½Ê½Îª Page ÔØÈë MasterPage Îļþ£¬Ò²ÐèÒªÔڴ˶¨Òå¡£
this.MasterPageFile = Request["MasterPageFile"];
}
Á˽âÁËÕâЩ¼¼Êõ£¬½«»áÈÃÍøÕ¾¸ü¼Ó¶à±ä¡£

