弄好后,在VS菜单上面点“网站”--“添加新项”,添加外观文件,文件名为Default.skin,开发工具会自动创建一个App_Themes的文件夹,关于这个文件夹的说明,请参考MSDN。
Default.skin文件内容如下:
注:这里说明一下,如果在一个Page页中使用了THEME,在SKIN中定义的时候,要注意: <asp:GridView runat="server" BackColor="Green" > 和 <asp:GridView runat="server" SkinId="gridviewSkin" BackColor="Green" > 是有不同的意义的,一个加了SkinId,一个没有,两个都是对Page页中的GridView设置皮肤,但是,如果没有指定SKINID的定义,是针对Page页中的所有GridView控件,如果指定了SKINID的定义,是指Page页中的某一个GridView控件,这里需要注意一下。(所以,我在WEBFORM页中要拖入两个GridView,就是为了说明这个的) 然后,再建立一个皮肤Diy.skin文件,文件内容如下:
这里,我除了对Page页中的GridView控件进行了定义,还对Button控件也进行了定义。 然后,在要使用的Default.aspx页面的头行<%@ page %>中,加入Theme="Default" 属性。 将标签链接设置如下: 标签名:默认皮肤 链接:Default.aspx?Skin=Default 标签名:个性皮肤 链接:Default.aspx?Skin=Diy 接下来,就是要绑定数据和获取用户请求的皮肤了,在Default.aspx.cs代码页面中代码如下:
以上代码作个说明: void Page_PreInit(object sender, EventArgs e) 是获取用户请求的页面皮肤事件。 DoSql obDoSql = new DoSql(); 是我临时写了一个链接数据库的类,这个大家应该都懂,就不详细说了,具体可以下载源码,参考源码链接在文章最下面。 test.mdb是临时建立的一个数据库(习惯了用数据库,呵呵~) 然后,你就可以运行了,访问一下你的Default.aspx页看看,是不是两个GridView控件的皮肤不一样啦,然后再点一下“个性皮肤”链接,看见了吗,皮肤就变了,按钮也变了。如图: 默认皮肤效果: 个性皮肤效果: