zoukankan      html  css  js  c++  java
  • ASP.NET中动态应用主题

    前言:看到360有个切换皮肤的功能是不是觉得很炫,好吧,今天我也来实现一下类似的功能。不知道和360的原理是不是一样的。

    在页面中动态应用主题主要是通过处理页面的Page_PreInit事件,在请求页面中,这是第一个被触发的事件,而在其后的Load和PreRender事件是不能动态应用主题的。

    另外说一下,动态应用母版的原理页是类似的。

    首先在App_Themes文件夹下创建两个不同的主题Green和Red,便于对比。主题下面有两个不同的Label.Skin文件:GreenLael.Skin和RedLabel.Skin两者的区别是Label控件一个设置为绿色一个设置为红色。

    好啦,下面是关键代码:

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
    protected void Page_PreInit(Object sender,EventArgs e)
    {
    if(Request["theme"]!=null)
    {
    switch (Request["theme"])
    {
    case "Green":
    Page.Theme= "GreenLabel";
    break;
    case "Red":
    Page.Theme = "RedLabel";
    break;
    }
    }
    }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:Label Text="动态应用主题请点击选择" runat="server" ID="lblSelect"></asp:Label>
    <ul>
    <li>
    <a href="动态应用主题.aspx?theme=Green">Green Theme</a>
    </li>
    <li>
    <a href="动态应用主题.aspx?theme=Red">Red Theme</a>
    </li>
    </ul>
    </div>
    </form>
    </body>
    </html>

    具体的代码大家自己去分析,我要去上课啦。谢谢多多吐槽!

  • 相关阅读:
    《Expert .NET 2.0 IL Assembler》 译者笔记 2
    游戏大厅升级日记 第2天
    《Metadata Tables》 Authors
    随便写写,蛮有趣的
    《Metadata Tables》 Introduction
    Oracle跨数据库的数据操作
    要换工作环境了
    javascript中几种操作打印的方法
    Datagrid中实现单选功能
    C#中利用Oracle事务删除表
  • 原文地址:https://www.cnblogs.com/luodao1991/p/2933700.html
Copyright © 2011-2022 走看看