ASP.NET中Theme使用方式

    技术2026-05-05  3

      Theme 的实现包括:CSS、Skin、MasterPage。

      CSS 是用于控制所有 HTML 标记的外观。

      Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式。

      MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中。

     

    使用 Theme的方式:

      1、在 Aspx 文件顶部 ﹤%@ Page %﹥ 中添加 Theme="Default" 属性。这样它就可以使用 Default 主题了。

      2、如果想到在整个网站应用某个 Theme 就需要在 Web.Config 定义。

    ﹤configuration﹥     ﹤system.web﹥       ﹤pages theme="ThemeName" /﹥    要在web.config指定使用哪个theme  ﹤/system.web﹥   ﹤/configuration﹥

       这样的定义相当于默认一个 Theme 在所有网站文件中,使用时仍可以为每个页面定义 Theme 。Skin 部分会使用 Page 面中定义的 Theme ,而 CSS 会重载默认主页中的 CSS 样式表。

      3、指定好 Theme 之后所有的外观都会使用 Skin 中定义的。你也可以指定控件的 SkinID 来定义单独外观。

    SkinFile.skin文件里定义如下<asp:Label SkinID="ResourceList_RBSID" runat="server" Font-Bold="True" ForeColor="#666666" Font-Size="12pt"></asp:Label>然后在前台页面上需要用到该Skin的控件的SkinID设为上面的SkinID即可注意:如果SkinFile.skin文件里定义的控件没有SkinID的话前台控件都会应用该效果

     

      4、如果想用编程方式定义 Theme 必需在 Page_PreInit事件中处理,如下:

    void Page_PreInit(object sender, EventArgs e)   {       Page.Theme = Request["ThemeName"];  

      //  如果需要以编程的方式为 Page 载入 MasterPage 文件,也需要在此定义。       this.MasterPageFile = Request["MasterPageFile"];   } 

      

    Theme 与 StylesheetTheme的区别在应用主题文件时,有两种方法:1、在<%@Page  Theme=" "%>中设置Theme2. 在<%@Page StylesheetTheme="" %>中设置StylesheetTheme两者的主要区别在于:优先级不同。当设置Theme时,先以调用页面中的属性,再调用theme中的属性,如果有重复的属性定义,最终以theme中的为准。当设置StylesheetTheme时,先调用StylesheetTheme中定义的属性,再使用页面中定义的属性,如果有重复属性定义,最终结果以页面中的定义的属性为准。

     

    最新回复(0)