ASP.NET在主題中添加CSS文件


ASP.NET在主題中添加CSS文件

在ASP.NET中,可以使用CSS來控制頁面上HTML元素和ASP.NET控件的皮膚。如果在主題文件夾中添加了CSS文件,則在頁面應用主題時也會自動應用CSS。

在App_Themes\StyleTheme\SimpleStyle.css中使用CSS對ASPX頁面中的幾個不同HTML元素應用樣式規則。操作步驟如下:

1. 在Visual Studio 2010中創建一個網站WebSite1。

2. 在網站根目錄創建主題文件夾App_Themes,並將“主題1”文件夾修改為StyleTheme文件夾。

3. 在StyleTheme文件夾上單擊鼠標右鍵,在彈出的快捷菜單中選擇“添加新項”命令,打開“添加新項”對話框。

4. 在對話框的中間窗口中選擇“樣式表”項,在窗口底部“名稱”右側的文本框中輸入SimpleStyle.css。

5. 點擊該對話框右下角的“添加”按鈕,即可在StyleTheme主題中添加一個SimpleStyle.css樣式表文件。如下圖所示:

在StyleTheme主題中添加SimpleStyle.css樣式表文件

6. 在SimpleStyle.css文件中添加CSS規則。代碼如下:

html
{
    background-color:gray;
    font:14px 宋體;
}
.content
{
    margin:auto;
    width:400px;
    border:solid 1px black;
    background-color:White;
    padding:10px;
}
h1
{
    color:Gray;
    font-size:18px;
    border-bottom:solid 1px orange;
}
label
{
    font-weight:bold;
}
input 
{
    background-color:Yellow;
    border:double 3px orange;
}
.button
{
    background-color:#eeeeee;
}

實例

如果在名為StyleTheme的主題文件夾(App_Themes文件夾下的StyleTheme文件夾)中添加SimpleStyle.css文件,這個CSS將會自動應用到ShowSimpleCSS.aspx頁面中。程序代碼如下:

<%@ Page Language="C#" Theme="StyleTheme" AutoEventWireup="true" CodeFile="ShowSimpleCSS.aspx.cs" Inherits="ShowSimpleCSS" %>
<!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>ASP.NET在主題中添加CSS文件-www.baike369.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div class="content">
            <asp:Label
            ID="lblUserName"
            Text="用戶名:"
            AssociatedControlID="txtUserName"
            runat="server">
        </asp:Label>
        <br />
        <asp:TextBox
            ID="txtUserName"
            runat="server">
        </asp:TextBox>
        <br /><br />
        <asp:Label
            ID="lblContactNumber"
            Text="聯系電話:"
            AssociatedControlID="txtContactNumber"
            runat="server">
        </asp:Label>
        <br />
        <asp:TextBox
            ID="txtContactNumber"
            runat="server">
        </asp:TextBox>
        <br /><br />
        <asp:Button
            ID="btnsubmit"
            Text="提交"
            runat="server"
            CssClass="button" />
    </div>
    </form>
</body>
</html>

執行結果如下:

ASP.NET在主題中添加CSS文件的操作效果

CSS用於對ShowSimpleCSS.aspx中的幾個HTML元素進行樣式設置。例如,樣式表將頁面背景色設為灰色,並將<div>標簽的內容設置為居中顯示。


提示

因為ASP.NET控件也會顯示為HTML元素,所以樣式表也可以對由ASP.NET的Label控件、TextBox控件和Button控件顯示的HTML元素進行樣式設置。

  • 一個ASP.NET Label控件會輸出為一個HTML <label>標簽,樣式表將所有的<label>標簽格式化為粗體。
  • TextBox控件和Button控件的輸出為HTML <input>標簽,樣式表將修改<input>標簽的邊框樣式和背景顏色。

注意,Button控件具有CssClass屬性,通過這個屬性,可以在CSS中對特定的控件(或者是一些控件)進行樣式設置。在示例中,Button控件輸出的<input>標簽的背景色被設為淡灰色,值為#eeeeee。

在此建議所有的網頁都使用本節討論的方法進行設計。應該在主題文件夾中保存外部的CSS,特別要注意,不要通過修改控件的屬性來改變控件皮膚。此外,也要避免使用皮膚文件。

使用CSS的好處是使加載頁面的速度更快。在外部的樣式表中保存的內容越多,在每一次請求頁面時需要加載的內容就越少。瀏覽器可以加載緩存外部樣式表的內容並對Web應用程序中的所有頁面應用樣式表。

如果通過修改控件屬性來修改控件皮膚,那么在每次請求頁面時,多余的內容都會被加載到瀏覽器中。例如,如果修改Label控件的BackColor屬性,在顯示Label控件時,額外的Style屬性也會顯示出來。

使用皮膚文件和修改控件屬性沒有區別。使用皮膚也會使頁面變得臃腫。舉例來說,如果給Label控件創建一個皮膚,當每個頁面的Label控件輸出時,皮膚文件中的Label的屬性必須和每個頁面中的Label控件進行合並。

因此,最好使用外部的樣式表來完成所有的格式化工作。


注意

主題中的CSS文件與普通的CSS文件沒有任何區別,但是,主題中的CSS文件必須保存在主題文件夾中。


技巧:創建主題的簡便方法

在創建控件外觀時,一個簡單的方法就是:將控件添加到.aspx頁面中,然后利用Visual Studio 2010的屬性窗口及可視化設計功能對控件進行設置,最后再將控件代碼復制到外觀文件中並做適當的修改。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM