1: Skin
在工程里新建"主题"文件夹,里面就可以添加主题,注意这里的名字就是我们要引用的主题名了,也就是Theme属性值. 在某个Skin里可以添加*.Skin文件或*.css文件,在引用的时候这两个文件都会起作用. 下面是DEMO
这只是一个日历控件的样式,可以直接在前台代码的html代码中COPY,只要去掉控件的ID属性就可以了.这里还可以指定样式的SkinId属性,这样就可以确定某个控件应用某个样式了.在引用时只需指定页面的Theme属性就可以应用指定的主题了,值得注意的是StyleSheetTheme也可以指定页面主题,两者区别在于Theme属性指定后页面的任何控件样式都不能在改变,而StyleSheetTheme还可以改变
<
asp:Calendar runat
=
"
server
"
BackColor
=
"
#FFFFCC
"
BorderColor
=
"
#FFCC66
"
BorderWidth
=
"
1px
"
DayNameFormat
=
"
Shortest
"
Font
-
Names
=
"
Verdana
"
Font
-
Size
=
"
8pt
"
ForeColor
=
"
#663399
"
Height
=
"
200px
"
ShowGridLines
=
"
True
"
Width
=
"
220px
"
>
<
SelectedDayStyle BackColor
=
"
#CCCCFF
"
Font
-
Bold
=
"
True
"
/>
<
TodayDayStyle BackColor
=
"
#FFCC66
"
ForeColor
=
"
White
"
/>
<
SelectorStyle BackColor
=
"
#FFCC66
"
/>
<
OtherMonthDayStyle ForeColor
=
"
#CC9966
"
/>
<
NextPrevStyle Font
-
Size
=
"
9pt
"
ForeColor
=
"
#FFFFCC
"
/>
<
DayHeaderStyle BackColor
=
"
#FFCC66
"
Font
-
Bold
=
"
True
"
Height
=
"
1px
"
/>
<
TitleStyle BackColor
=
"
#990000
"
Font
-
Bold
=
"
True
"
Font
-
Size
=
"
9pt
"
ForeColor
=
"
#FFFFCC
"
/>
</
asp:Calendar
>
2:母版页
新建一个母版页,在里面可以同意设置页面整体,在里面添加contentplaceholder控件也就是子页面显示的内容.
在新建一个页面,指定它的母版页就可以了.
在子页面中改变母版页的控件值:
((Label)MasterPage.FindControl(
"
label1
"
)).Text
=
DropDownList1.selectvalue;
3:动态更改页面主题
两个都是连接到本页面,传递Theme参数,1,2是主题名
<
a
href
="Default2.aspx?Theme=1"
>
Theme A
</
a
>
<
a
href
="Default2.aspx?Theme=2"
>
Theme B
</
a
>
更改主题只能在 Page_PreInit事件里写
protected
void
Page_PreInit(
object
sender, EventArgs e)

...
{
Page.Theme = Server.HtmlEncode(Request.QueryString["Theme"]);
}
未完...
更多精彩尽在:http://www.dearming.cn