我使用代碼波紋管動態包括CSS文件:ASP.NET - 如何僅包含不包含CSS的CSS?
HtmlHead head = (HtmlHead)Page.Header;
HtmlLink link = new HtmlLink();
link.Attributes.Add("href", Page.ResolveClientUrl("~/App_Themes/Default/StyleSheet.css"));
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
head.Controls.Add(link);
的問題是:我想這樣做只有一次,且僅當它不alrealy包含在頁面中。
如何驗證它是否已包含在內?
編輯:
答案告訴我使用!IsPostBack
不會解決我的問題在頁面加載到包括,因爲這樣的代碼將是一個Web用戶控件內,我的頁面可能有很多相同的用戶控制。
例如,我用下面的代碼用JavaScript來做到這一點:
if (!Page.ClientScript.IsClientScriptIncludeRegistered("jsScript"))
{
Page.ClientScript.RegisterClientScriptInclude("jsScript", ResolveUrl("~/Utilities/myScript.js"));
}
如果你的CSS結構合理,這可能是一個不成熟的優化。我無法想象你使用這麼多的CSS,它會顯着減慢瀏覽器。 – 2010-03-02 20:48:46
@Robert Harvey:我認識的人可能不會放慢我的應用程序,我只是不喜歡把垃圾代碼放到我的頁面上,今天我只用了5KB的CSS,但明天當我加上50KB,所以這將是一個問題... – Tufo 2010-03-02 20:57:23
@Jason:所以我需要更可能發佈更簡單的問題?如果你看看我的問題,你會發現它們都很複雜,沒有人回答解決問題的方法。 – Tufo 2010-03-02 20:58:35