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 >
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 >
< 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"]);
}
... {
Page.Theme = Server.HtmlEncode(Request.QueryString["Theme"]);
}
未完...
更多精彩尽在:http://www.dearming.cn