`

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 主题

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

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

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

    asp.net主题资源包(1)

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

    asp.net主题资源包(2)

    总之,ASP.NET主题资源包是提高网站视觉吸引力的有效工具。通过利用这些预设和自定义的主题,你可以为用户提供更加个性化和专业的浏览体验。无论你是初学者还是经验丰富的开发者,这个资源包都将为你的ASP.NET项目...

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

    在第5章“ASP.NET主题、母版页和站点导航”中,作者孙士保深入讲解了如何利用ASP.NET进行界面设计和用户体验优化。 **ASP.NET主题和外观** 主题是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 主题和外观概述。 除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以...

    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中,样式...

    Beginning ASP.NET 4.5 in C# ASP.net 4.5入门教程(高清PDF)

    《 Beginning ASP.NET 4.5 in C#》是Matthew MacDonald撰写的一本面向初学者的ASP.NET 4.5教程,采用C#编程语言。这本书详细介绍了如何使用Microsoft的这款强大的Web开发框架进行Web应用程序设计。作为一本高清PDF...

    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...

Global site tag (gtag.js) - Google Analytics