應用MasterPage的頁面引用外部CSS檔案的方法

來源:互聯網
上載者:User
    首先,如果在應用了MasterPage的頁面<asp:Content〉標籤外部添加<link>標籤引用CSS檔案,會造成編譯錯誤。如果在<asp:Content〉標籤內引用CSS檔案,會造成解釋錯誤.在MasterPage的<head>標籤中引用CSS檔案,會導致所有應用了該MasterPage的頁面全部引用了該CSS檔案,同時會造成一些微妙的引用路徑問題。那麼如果想讓應用了MasterPage的頁面引用自己的CSS檔案,有這樣一種解決方案——使用一個自訂控制項,負責向<head>標籤寫入引用CSS檔案的<link>標籤,具體可以看一下木野狐的一篇文章ASP.NET 2.0 中配合 Master Page 使用的最佳化 CSS 模型。

    另外,相對於這種方法,還有一種簡單的Hack,首先在MasterPage中添加<link>標籤,但是herf屬性為空白<head runat="server">
    <link id="cssStyleSheet1" rel="stylesheet" type="text/css" runat="server" />
    <link id="cssStyleSheet2" rel="stylesheet" type="text/css" runat="server" />
    <link id="cssStyleSheet3" rel="stylesheet" type="text/css" runat="server" />
</head>

    數量只能寒一個了……如果不知道用多少,還是多放幾個好了。然後在應用了MasterPage的頁面裡動態修改<link>標籤的herf屬性protected void Page_Init(object sender, EventArgs e) {
        if (!IsPostBack) {
           HtmlLink csslink = (HtmlLink)Master.FindControl("cssStyleSheet1");
           csslink.Attributes.Add("href","Cart.css");
        }
}

    目前我發現的辦法就只有這兩種了,如果各位還有什麼好的辦法,懇請告訴小弟,目前正在弄一個涉及這個問題的應用

    PS.園子是不是有個bug?突然發現,到首頁了……似乎發到別的分類的,再編輯預設分類就變首頁了……-_-bb

相關文章

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.