`

ASP.NET主题

    博客分类:
  • .NET
阅读更多

 

 ASP.NET主题功能从ASP.NET 2.0版本已经开始支持了,用来定义页面和控件的外观,主题由一组元素组成:外观,CSS,图像和其他资源。

  1.外观

  外观文件具有文件拓展名.skin,它包含各个控件的属性和样式属性设置。例如,下面是几个服务器控件的外观定义:

  <asp:Label Runat="server" ForeColor="#004000" BackColor="#C0C0FF"/>

  <asp:TextBox Runat="server" ForeColor="#004000" BackColor="#C0C0FF"/>

  <asp:Button Runat="server" ForeColor="#004000" BackColor="#C0C0FF"/>

  当页面应用主题时,默认外观自动应用于同一类型的所有控件。

  如果控件外观设置了SkinID属性,则会按SkinID呈现相应外观,如:

  <asp:TextBox Runat="server" ForeColor="#004000" BackColor="#C0C0FF"/>

  <asp:TextBox Runat="server" ForeColor="#004000" BackColor="#C0C0FF" SkinID="skindot"/>

  <asp:TextBox Runat="server" ForeColor="#004000" BackColor="#C0C0FF" SkinID="skinbat"/>

  页面端设置为:

  <form id="form1" runat="server">

  <div>

     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

     <asp:TextBox ID="TextBox1" runat="server" SkinID="skindot"></asp:TextBox>

     <asp:TextBox ID="TextBox1" runat="server" SkinID="skinbat"></asp:TextBox>

  </div>

  </form>

  以上三个TextBox分别应用了外观中的三个样式。

  注意:Skin文件定义的样式只有在运行时才可以看到,在设计模式是看不到的。

       Skin文件定义的样式只适用于服务端控件。

 

2.级联样式表(CSS)

  主题还可以包含级联样式表(.CSS文件)。将css文件放在主题文件夹中时,样式表自动作为主题的一

 

部分加以应用。

  3.主题图形和其他资源

  这些资源主要包括控件所需图片,脚本文件,声音文件。

 

  主题可以应用于整个应用程序级别,页面级别,服务器控件级别。

  (1) 应用于整个应用程序级别

  在Web.config文件中配置:

  <configuration>

     <system.web>

         <pages theme="主题文件夹名">

     </system.web>

  </configuration>

  另外如果在Machine.config文件中定义了<pages>元素,主题将应用于服务器上的Web应用程序中的

 

所有页。

  (2) 应用于页面级别

  在页面中如下配置:

  <%@ Page Language="C#" Theme="主题文件夹名" EnableTheming="true"%>

  (3) 应用于服务器控件级别

  <asp:Textbox ID="TextBox1" Runat="server" Theme="主题文件夹名" EnableTheming="true">

  注意:如果页面禁用了主题,即使控件设置了EnableTheming="true" 也无法应用主题。

 

 

ASP.NET主题的使用

   在解决方案窗口右键单击当前站点名称,依次选择"ASP.NET文件夹→主题",会创建一个名为App_Themes的文件夹,此文件夹由系统命名,不

 

能重命名。在该文件夹下建立两个主题文件夹:Autumn和Spring。现在可以在主题文件夹下建立.skin文件和.css文件。现在我们就可以

 

在.skin文件与.css文件中来设计页面元素的样式了。

   运用:换肤

   后台代码:

   protected void Page_Load(object sender,EventArgs e)

   {

     if(!Page.IsPostBack)

     {

       if(Session["CurrentTheme"]!=null)

       {

         this.DropDownList1.SelectedIndex=this.DropDownList1.Items.IndexOf(this.DropDownList1.Items.FindByValue(Session

 

["CurrentTheme"]).ToString());

       }

     }

   }

   protected void Page_PreInit(object sender,EventArgs e)

   {

     if(Session["CurrentTheme"]!=null)

     {

       this.Page.Theme=Session["CurrentTheme"].ToString());        

     }

     else

     {

       this.Page.Theme="Spring";

     }

    }

   protected void DropDownList1_SelectedIndexChanged(object sender,EventArgs e)

   {

    Session["CurrentTheme"]=this.DropDownList1.SelectedValue;

    Response.Redirect("该页.aspx");

   }

   这里的当前选中的主题是在Session中存储的。ASP.NET规定主题设置必须在Page_PreInit事件中或之前完成,所以这里定义了此事件,此事

 

件是先于Page_Load事件的。

分享到:
评论

相关推荐

    ASP.NET主题资源包

    ASP.NET主题资源包是.NET Framework下ASP.NET Web应用程序开发中的一种功能,用于统一和管理页面的外观和风格。它允许开发者创建和应用一系列预定义的样式、颜色、字体和布局,以便快速改变整个网站或特定页面的视觉...

    asp.net 主题皮肤实例

    在这个"asp.net 主题皮肤实例"中,我们关注的是如何通过主题和皮肤为ASP.NET应用程序提供丰富的视觉体验。主题和皮肤是ASP.NET中用于统一和定制用户界面的重要工具。 主题允许开发者为整个网站或应用程序定义一套...

    asp.net 主题

    ASP.NET主题是微软开发的ASP.NET框架中的一个重要特性,它允许开发者为Web应用程序创建一致的外观和感觉。在ASP.NET中,主题是用来控制用户界面(UI)元素样式、布局和表现的一组CSS文件、图像和其他资源。它们可以...

    asp.net的主题及导航模板

    ASP.NET是一种广泛使用的...总之,这个ASP.NET主题及导航示例是一个实用的学习资源,可以帮助开发者了解如何提升网站的用户体验和多语言支持。通过实践和理解这些概念,你可以创建出更专业、更具吸引力的Web应用程序。

    ASP.NET课件 数据绑定 主题和外观

    在这个“ASP.NET课件 数据绑定 主题和外观”中,我们将深入探讨两个关键概念:数据绑定和主题/外观设计,这些都是ASP.NET开发中的核心要素。 首先,让我们详细讨论数据绑定。在ASP.NET中,数据绑定是一个强大的特性...

    asp.net主题资源包(1)

    该"asp.net主题资源包(1)"可能包含了多种预设的界面样式,这些样式通常由CSS(层叠样式表)文件组成,它们定义了网页元素的颜色、字体、布局等视觉特性。开发者可以根据自己的需求选择或自定义主题,为不同的页面或...

    ASP.NET数据库网站设计教程(C#版)[孙士保]第5章 ASP.NET主题、母版页和站点导航.ppt

    在第5章“ASP.NET主题、母版页和站点导航”中,作者孙士保深入讲解了如何利用ASP.NET进行界面设计和用户体验优化。 **ASP.NET主题和外观** 主题是ASP.NET中实现页面一致性外观的关键机制。它们是一组预定义的属性...

    asp.net主题资源包(2)

    ASP.NET主题资源包,作为提升Web应用视觉体验的重要组件,得到了广大开发者的青睐。随着互联网技术的蓬勃发展,用户体验已经成为影响网站成功与否的关键因素之一。ASP.NET作为一项强大的网络开发框架,其主题资源包...

    ASP.NET主题、母版页和站点导航

    介绍ASP.NET主题、母版页和站点导航的基本概念和应用

    asp.net网站更换皮肤源码(附带多个theme)

    总结起来,这个压缩包提供的源码实例展示了ASP.NET中皮肤和主题的应用,对于学习和理解这一特性,以及提升网站的视觉设计能力具有很大的帮助。开发者可以通过探索和实践这些示例,掌握如何创建和应用皮肤,从而提高...

    ASP.NET样式、主题和母版

    本章开始讨论ASP.NET的页面创作技术,现如今的网页网站、Web Base应用程序越来越注重页面的外观和可操作性。一致的外观能给用户良好的印象,并能充份展示企业的形象和文化内涵。ASP.NET提供了多种用于统一页面外观的...

    ASP.net皮肤主题和模板页

    在ASP.NET中,皮肤(Skin)和主题(Theme)以及模板页(Master Page)是用于实现页面样式和布局复用的重要机制,极大地提高了开发效率和用户体验的一致性。 首先,我们来详细了解一下**皮肤(Skin)**。皮肤是一种...

    设置ASP.net主题的代码

    如果你要为你的网站设置主题,可以采用这个代码

    ASP.NET第一步(基于C#和ASP.NET 2.0).rar

    ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web开发的过程。对于初学者来说,"ASP.NET第一步(基于C#和ASP.NET 2.0)"是一个理想的入门...

    asp.net实验指导书

    * 掌握 ASP.NET 主题和皮肤设计方法 * 通过本实验了解母版页的使用方法 * 练习使用主题和皮肤使页面设计格式统一 实验 9:数据访问技术应用(一) * 掌握 ADO.NET 组件类的应用方法 * 掌握 ASP.NET 数据库应用程序...

    ASP.NET从入门到精通

    第12章 ASP.NET 的皮肤、主题和母版页 第13章 ASP.NET 内置对象,应用程序配置和缓存 第14章 ASP.NET XML 和Web Service 第五篇 ASP.NET 3.5 高级编程 第15章 图形图像编程 第16章 ASP.NET 3.5 和AJAX 第17章 ASP.NET...

    ASP.net入门教程

    有关更多信息,请参见 ASP.NET 主题和外观概述。 除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以...

    ASP.NET文件参考 asp.net asp.net技巧

    在ASP.NET中,状态管理是一个关键主题。服务器端的状态管理方式包括View State、Control State、Session State和Application State,而客户端的方法有Cookie、Hidden Field和URL参数。每种方式都有其适用场景,...

    ASP.NET教程 ASP.NET教程

    ASP.NET 是微软公司推出的一种基于.NET Framework的服务器端编程模型,用于构建动态网站、Web应用程序和Web服务。这个教程将带你深入理解ASP.NET的核心概念和技术,帮助你掌握开发高效、可扩展的Web应用的技能。 在...

    asp.net网站模板

    在ASP.NET中,开发者可以通过这样的页面来动态地改变数据库连接字符串、网站主题或者用户权限等设置。 3. `admin_style.aspx`:这可能是管理站点样式的页面,允许管理员控制网站的外观和感觉。在ASP.NET中,样式...

Global site tag (gtag.js) - Google Analytics