主題簡介 ASP .NET

來源:互聯網
上載者:User

標籤:

由控制項的外觀、樣式組成的集合,由一個檔案組構成,存放在App_Themes檔案夾下。

主題包括:皮膚檔案(.Skin)、CSS檔案(.CSS)、圖片、其它資源等。

主題的作用:統一設定Web頁面的外觀。

主題與CSS的比較

相似點           允許定義一組作用於多個頁面中的控制項的樣式特性。

不同點     主題基於控制項而不是HTML  

   主題允許定義和重用幾乎所有的控制項屬性

 CSS只是直接作用於HTML的樣式特性

主題應用在伺服器上

   主題作用到頁面時,格式化後的最終頁面被傳送給使用者。

   使用樣式表時,瀏覽器同時接收到頁面和樣式資訊並在用戶端合并它們。

不同點     可以通過設定檔來應用主題 不必修改任何一個頁面就可以對整個檔案及或整個網站應用程式主題

   主題不會像CSS那樣級聯 CSS:內聯樣式優先採用

   主題:主題裡定義的值會覆蓋控制項的屬性。可以通過提高頁面屬性的優先順序來改變,這樣主題的行為將更像樣式表。

分工協作

   CSS檔案:HTML控制項和頁面的樣式屬性

   主題:伺服器控制項的樣式屬性          皮膚代碼中只留樣式代碼其餘都移除

 

控制項皮膚類型       預設皮膚 應用於同一類型的所有控制項 唯一                 已命名皮膚 包含SkinID屬性 多個SkinID不重複

定義預設皮膚

<asp:TextBox runat="server" BackColor="#8080FF" BorderStyle=“Groove” ForeColor=“Red“ />        *該代碼是寫在皮膚檔案中而不是分頁檔中

這是命名皮膚 

<asp:TextBox runat="server" BackColor="#8080FF" BorderStyle=“Groove” ForeColor=“Red“  SkinID=“txt1" /> 

<asp:TextBox ID=“TextBox1" SkinID=“txt1" Runat="server" />   寫在網頁中

在頁面層級應用主題

<%@Page   Theme="主題名"  >

在網站設定檔

<configuration>

  <system.web>

    <Pages  theme="主題名" />  

  </system.web>

</configuration>

主題衝突

  如果控制項的屬性和主題定義的屬性衝突,總是優先使用主題定義的屬性

改變優先順序

  <%@Page   styleSheetTheme="主題名"  >

        styleSheetTheme<控制項屬性<Theme  

 

一個ASP.NET頁面的生命週期為:  頁面事件執行的順序

用戶端請求頁面-->預初始化conPreInit-->初始化conInit-->完成初始化conInitComplete-->載入ViewState(LoadViewState)-->處理回送資料(IsPostBackDataHander)-->Page_OnPreLoad-->Page_OnLoad-->回傳更改通知-->處理回傳事件-->Page_OnLoadComplete-->預呈現-->完成預呈現-->儲存-->儲存ViewState-->呈現-->Page_UnLoad

  在第2步就可以進行定義網站主題(Theme)

動態載入主題:

      Button_Click事件

       Response.Redirect("Default.aspx?Theme=red")

   

    page_PreInit 事件,  這個事件需要自己手動寫   //在載入事件前面完成

    if(Request.QueryString["Theme"]!=null)

      string theme=Request.QueryString["Theme"].ToString();

 

換主題:   用   DropDownList  控制項做

  //確定由哪個控制項引發頁面回傳,記錄此控制項的唯一識別碼

     UniqueID  -->在網頁中此控制項的ID

        △產生網頁時會有(_ _EVENTTARGET)產生       //_ _EVENTTARGET  頁面隱藏欄位中擷取

        string ID=Request.Form["_ _EVENTTARGET"]            //誰引發頁面回傳就得到誰的ID

       Request.Form[id]               //擷取列表值

 

自訂控制項:封裝小部分內容

母板頁:封裝大部分相同的內容

                      當有主版頁面,內容頁,自訂控制項事件發生順序

                     內容  》》 主版頁面   》》 自訂控制項

   preInit-->PageLoad-->PageLoad-->PageLoad

主題簡介 ASP .NET

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.