设为首页收藏本站

融智技术学院

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 996|回复: 1

ASP.NET的动态加载主题

[复制链接]
MrLi 发表于 2013-3-22 15:10:41 | 显示全部楼层 |阅读模式
    ASP.NET的动态加载主题
    ASP.NET除了在页面声明或者配置文件中指定主题和外观首选项之外,还可以通过编程方式动态加载主题。只需要在PreInit事件中动态地指定Theme属性或者StyleSheetTheme属性,就可以实现主题的动态切换效果。
    【示例】下面演示动态加载主题的方式。
    (1)创建一个网站,命名为“动态加载主题”。
    (2)在解决方案资源管理器中的网站上单击右键,在弹出的快捷菜单中选择“添加ASP.NET文件夹”|“主题”命名。VS 2012会添加一个名为App_Themes的文件夹,并在该文件夹下添加一个命名为“主题1”的子文件夹。将“主题1”文件夹重命名为“MyTheme”。
    (3)在MyTheme文件夹上单击鼠标右键,在弹出的快捷菜单中选择“添加新项”命令。在打开的“添加新项”对话框中选择“外观文件”选项,命名为“SkinFile.skin”。单击“添加”按钮后,VS 2012将自动进入皮肤文件窗口。SkinFile.skin文件的代码如下:
  1. <asp:ListBox runat="server" ForeColor="White" BackColor="gray" />
  2. <asp:Button runat="server" ForeColor="White" BackColor="gray" />
复制代码
(4)在网站上添加一个名称为“Default.aspx”的Web页面。在该页面上添加一个ListBox控件、一个Button控件。代码如下:
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2. <!DOCTYPE html>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6.     <title></title>
  7. </head>
  8. <body>
  9.     <form id="form1" runat="server">
  10.     <div>
  11.         请选择一个主题     
  12.         <br />
  13.     <asp:ListBox ID="ListBox1" runat="server" >
  14.             <asp:ListItem>主题1</asp:ListItem>
  15.             <asp:ListItem>主题2</asp:ListItem>
  16.         </asp:ListBox>
  17.         <asp:Button ID="Button1" runat="server" Text="选择主题" OnClick="Button1_Click"  />
  18.     </div>
  19.     </form>
  20. </body>
  21. </html>
复制代码
然后在Web页面中添加事件。Page_Load事件代码来加载可选择的主题。按钮的单击事件将用户选择的主题保存到会话变量中。Page_Load事件动态地应用主题。Default.aspx页面后置代码如下:

    运行结果如下图所示。

    在该示例中,如果没有设置主题,则Page.Theme为空,不应用主题。如果设置主题,将应用保存在Session中的主题。
    注意:在按钮的单击事件中使用Transfer()方法刷新页面而没有使用页面回发。因为页面若再次回应PreInit事件,最有效率的方法是Server.Transfer()方法。
    关键字:ASP.NET的动态加载主题    ASP.NET     动态加载主题
fdiyrab 发表于 2013-4-26 19:07:51 | 显示全部楼层
真不知道,还有这么好心的楼主 支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

融智技术联盟QQ群
融智技术ASP群0
融智技术ASP群1
融智技术ASP群2
我有QQ群,我要加盟

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号  

GMT+8, 2018-10-17 22:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表