App_Themes\Default\Default.skin:
<asp:TextBox runat="server" BorderWidth="1px" BorderColor="Red" ForeColor="Red"></asp:TextBox>App_Themes\Blue\Blue.skin:
<asp:TextBox runat="server" BorderWidth="1px" BorderColor="Blue" ForeColor="Blue"></asp:TextBox>2.动态加载主题
Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" StylesheetTheme="Default" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>动态加载主题示例-Mzwu.Com</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" PostBackUrl="?theme=default" Text="应用主题一" />
<asp:Button ID="Button2" runat="server" PostBackUrl="?theme=blue" Text="应用主题二" /><br /><br />
<asp:TextBox ID="TextBox1" runat="server" BorderWidth="1px" BorderColor="Black" ForeColor="Black"></asp:TextBox><br />
</div>
</form>
</body>
</html>Default.aspx.cs:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.QueryString["theme"] != null)
{
Page.Theme = Request.QueryString["theme"];
}
}
protected void Page_Load(object sender, EventArgs e)
{
//
}
}ASP.NET主题说明
·一个主题通常包含皮肤文件、css文件和图片资源等;
·皮肤文件中定义的是服务器控件外观,css文件通常定义页面和普通html控件样式;
·皮肤可分为默认皮肤和命名皮肤,命名皮肤有SkinID属性,默认皮肤没有;
·皮肤文件中只允许出现控件外观相关属性的设置,设置非外观属性值将出错;
·主题下的css文件不需格外引用,自动应用到页面中,但要求页面上有<head runat="server"/>;
·样式设置优先级:Page指令的StyleSheetTheme属性 < 控件属性 < Page指令的Theme属性;
评论(0)
暂无评论。