2008年2月20日星期三

(转)预初始化对象(OnPreInit) 实现页面主题变更

原文地址:

实现功能:动态控制网站程序中服务器控件的外观。

实现步骤:

一在网站根目录下创建文件夹:App_Themes。这个文件夹名字不能改成别的。

二在App_Themes文件夹下创建子文件夹(主题),这个子文件夹名称就是页面的主题名称

三在主题下添加.css,.skin等文件.

四示例:

1 创建文件夹: App_Themes,在它下面添加两个主题: BlueTheme和RedTheme.

2 在BlueTheme下添加文件BlueTheme.skin,写入内容:



3 在RedTheme下添加文件RedTheme.skin,写入内容:



4 HTML代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageLife.aspx.cs" Inherits="PageLife" %>







无标题页















5 .CS代码:

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;

public partial class PageLife : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

///

///预初始化方法,在用户控件和模板页里没有这个事件

///


///

protected override void OnPreInit(EventArgs e)

{

//参考http://msdn2.microsoft.com/zh-cn/library/tx35bd89(vs.80).aspx

base.OnPreInit(e);

switch (Request.QueryString["theme"])

{

case "Blue":

Page.Theme = "BlueTheme";

break;

case "Red":

Page.Theme = "RedTheme";

break;

}

}

}

没有评论: