準備條件:兩種以上不同風格的Theme.
HTML頁面源代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChangeStyle.aspx.cs" Inherits="ChangeStyle" %>
<!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>Untitled Page</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
</head>
<body class="panel">
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DDLStyle" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DDLStyle_SelectedIndexChanged">
<asp:ListItem Value="Themes_Blue">藍色經典</asp:ListItem>
<asp:ListItem Value="Themes_Green">春之朝夕</asp:ListItem>
<asp:ListItem Value="Themes_Purple">時代風尚</asp:ListItem>
<asp:ListItem Value="Themes_Yellow">秋風十月</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>
C#源代碼:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Data.SqlClient;
public partial class ChangeStyle : System.Web.UI.Page
{
#region 頁面初始化時顯示的樣式風格
protected void Page_Load(object sender, EventArgs e)
{
HtmlGenericControl F_LinkStyle = new HtmlGenericControl("LINK");
F_LinkStyle.ID = "Style";
F_LinkStyle.Attributes["rel"] = "stylesheet";
F_LinkStyle.Attributes["type"] = "text/css";
F_LinkStyle.Attributes["href"] = "../App_Themes/" + Themes_Blue + "/Style.css";
MyCSS.Controls.Add(F_LinkStyle);
}
#endregion
#region 改變頁面樣式風格
protected void DDLStyle_SelectedIndexChanged(object sender, EventArgs e)
{
HtmlGenericControl F_LinkStyle = new HtmlGenericControl("LINK");
F_LinkStyle.ID = "Style";
F_LinkStyle.Attributes["rel"] = "stylesheet";
F_LinkStyle.Attributes["type"] = "text/css";
F_LinkStyle.Attributes["href"] = "../App_Themes/" + DDLStyle.SelectedValue + "/Style.css"; //存放Theme的相對路徑
MyCSS.Controls.Add(F_LinkStyle);
}
#endregion
}