您好,登錄后才能下訂單哦!
本篇內容介紹了“ASP.NET的Theme有什么功能”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
ASP.NET 2.0 中新增加了 Theme 的功能,它的出現能讓網站實現換膚更加容易。
Theme 的實現包括:CSS、Skin、MasterPage。
CSS 是用于控制所有 HTML 標記的外觀。
Skin 是用于控制所有 ASP.NET 服務器調整的外觀,并且可以通過屬性 cssClass 定義它的 CSS 樣式。
MasterPage 是 *.aspx 頁面模版,不過它沒有被定義到 Theme 中。
◆ASP.NET開發技巧之創建ASP.NET Theme 的例子:
1、在 Web 項目中創建 App_Themes 目錄。它是預定義的目錄,ASP.NET 2.0 會自動識別其目錄下的 Theme 。
2、在 App_Themes 目錄創建 orangeTheme、BlueTheme 兩個子目錄。
3、為 App_Themes 下的每個子目錄添加 Skin 文件,如 Control.Skin 。ASP.NET 2.0 會自動分析每一個 Skin 文件,在這里的命名只需要為了開發時方便分類。
4、也可以為 App_Themes 下的每個子目錄添加 CSS 文件。ASP.NET 2.0 也會自動將每一個 CSS 文件添加到每一個使用此樣式的頁面中去。
◆ASP.NET開發技巧之定義頁面內容與ASP.NET Theme 樣式
1、default.aspx 頁面定義如下:
﹤%@ Page Theme="OrangeTheme" %﹥ ﹤html﹥ ﹤head runat="server"﹥ ﹤title﹥Orange Page﹤/title﹥ ﹤/head﹥ ﹤body﹥ ﹤form id="form1" runat="server"﹥ Enter your name:﹤br /﹥ ﹤asp:TextBox ID="txtName" Runat="Server" /﹥ ﹤br /﹥﹤br /﹥ ﹤asp:Button ID="btnSubmit" Text="Submit Name" Runat="Server"/﹥ ﹤/form﹥ ﹤/body﹥ ﹤/html﹥
2、在 OrangeTheme 主頁的 Control.Skin 文件中定義如下:
注意:只能指定外觀屬性,不能指定如 AutoPastback 等屬性。
//默認未命名的 Skin 將會為所有 TextBox 類型定義外觀。 ﹤asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" /﹥ ﹤asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" /﹥ //已經命名 SkinID 的將可以為指定 TextBox 類型定義外觀。 ﹤asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" /﹥
◆ASP.NET開發技巧之在頁面中使用ASP.NET Theme
1、在 Aspx 文件頂部 ﹤%@ Page %﹥ 中添加 Theme="Default" 屬性。這樣它就可以使用 Default 主題了。
2、如果想到在整個網站應用某個 Theme 就需要在 Web.Config 定義。
﹤configuration﹥ ﹤system.web﹥ ﹤pages theme="OrangeTheme" /﹥ ﹤/system.web﹥ ﹤/configuration﹥
這樣的定義相當于默認一個 Theme 在所有網站文件中,使用時仍可以為每個頁面定義 Theme 。
Skin 部分會使用 Page 面中定義的 Theme ,而 CSS 會重載默認主頁中的 CSS 樣式表。
3、指定好 Theme 之后所有的外觀都會使用 Skin 中定義的。你也可以指定控件的 SkinID 來定義單獨外觀。
4、如果想用編程方式定義 Theme 必需在 Page_PreInit事件中處理,如下:
void Page_PreInit(object sender, EventArgs e) { Page.Theme = Request["ThemeName"]; // 如果需要以編程的方式為 Page 載入 MasterPage 文件,也需要在此定義。 this.MasterPageFile = Request["MasterPageFile"]; }
“ASP.NET的Theme有什么功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。