asp.net 2.0教程 主題和皮膚

來源:互聯網
上載者:User

尊重作者,請保留 www.it55.com 連結字樣。

這一節我們聯絡asp.net 2.0新特性:主題和皮膚。

主題和皮膚的製作
建立web網站,在項目上右鍵“添加ASP.NET檔案夾”>>>“主題”,並將預設產生的“主題1”重新命名為“blue”:


 

在blue主題上右鍵“添加新項”,

彈出的設定框中選擇“面板檔案”,並命名為“button.skin”,最後“添加”

修改button.skin內容如下:

<%--
預設的外觀模板。以下外觀僅作為樣本提供。

1. 命名的控制面板。SkinId 的定義應唯一,因為在同一主題中不允許一個控制項類型有重複的 SkinId。

<asp:GridView runat="server" SkinId="gridviewSkin" BackColor="White" >
   <AlternatingRowStyle BackColor="Blue" />
</asp:GridView>

2. 預設面板。未定義 SkinId。在同一主題中每個控制項類型只允許有一個預設的控制面板。

<asp:Image runat="server" ImageUrl="~/images/image1.jpg" />
--%>
<asp:Button runat="server" BackColor="LightSteelBlue" BorderStyle="None" ForeColor="Navy" />
<asp:Button runat="server" BackColor="LightSteelBlue" BorderStyle="Groove" ForeColor="Navy" Text="Button" BorderColor="RoyalBlue" SkinID="withBorder" />

在blue主題上右鍵“添加新項”,彈出的設定框中選擇“樣式表”,並命名為“style.css”,最後“添加”
style.css內容如下:

body { text-align:center; background-color:Gray;
}

Default.aspx內容:

<%@ Page Language="C#" AutoEventWireup="true" Theme="blue"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>主題和皮膚</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    整個頁面因為應用了blue主題中的style.css,所以內容置中,背景為灰色
    <br />
        <asp:Button ID="Button1" runat="server" Text="Button" /><br />這個按鈕沒有設定SkinId,就調用預設面板
        <br />
        <br />
        <asp:Button ID="Button2" runat="server" Text="Button" SkinID="withBorder" /><br />這個按鈕將根據SkinId調用特定外觀
    </div>
    </form>
</body>
</html>

註:如果頁面中的控制項有自己的樣式或外觀定義,那麼該定義將覆蓋主題的定義。運行結果:

關於主題的應用
上述在頁面頭部通過Theme="主題名稱"來應用主題的方式是頁面級主題應用;應用程式級主題應用方法如下:
在Web.config檔案中配置如下節:
<configuration>
  <system.web>
    <pages Theme="主題名稱" />
  </system.web>
</configuration>
註:某個檔案夾下的Web.config中的Theme設定將覆蓋應用程式的Theme設定.

關於動態載入主題
因為page對象的Theme屬性只能在頁面的PreInit事件發生過程中或者之前進行設定,所以我們必須在Page_PreInit事件處理常式中修改Theme屬性值,以達到動態調用主題的目的.
具體實現方法就不再敘述了,大家可以查看這篇文章:Asp.net 2.0中動態載入主題的兩種實現方法

關於主題和樣式的內容的基礎內容大概只有這些了,下一節我們將一起學習: asp.net 2.0新特性 網站導覽控制項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.