以前都用.NET1.1沒遇到這問題,現在換了2.0開始學着使用母版,結果就遇到了這個問題,在百度上一搜尋才發現有不少人提出這個問題,但沒找到好的解決方案,可能是因為使用母版的人很少的原因吧,因過試驗,最終通過一個很簡便的方法解決了這個問題
當網站中的某一母版被多個頁面使用時,多個頁又需要調用不同的CSS,但在母版中隻能引用一個CSS,我的解決方法是:
在母版頁Head中首先将母版頁中所用的樣式直接寫出來,如:
<style type="text/css">
#Banner
{
width: 955px;
height: 267px;
background: url(/Image/banner.jpg) no-repeat;
}
</style>
<asp:literal id="test" runat="server"></asp:literal>
随後在此位置放一個Literal控件,這樣一來以後需要改版樣式隻需要在此一處修改,通常母版頁的樣式不會過于複雜是以放在頁中沒有什麼問題,接下來在使用母版頁的某個内容頁的CS檔案中加入如下代碼以引用此頁所需的CSS檔案:
Literal l = (Literal)Master.FindControl("母版頁中Literal控件的ID");
l.Text = "<link href='你的CSS檔案' rel='stylesheet' type='text/css' />";
使用這種方法時有一點問題要注意,在母版頁中直接定義的樣式名稱不要與内容頁引用的CSS檔案中樣式名稱重複,否則會出現覆寫的問題尤其是body的定義要注意.
不知道高手們有沒有更好的解決方法,抛磚引玉ING.....