2010-08-09 75 views
1

我在我的應用程序中有一個頁面,我需要根據登錄用戶動態加載兩個css文件。我可以動態地爲asp.net中的頁面添加兩個CSS文件嗎?

如何動態加載兩個css文件到一個頁面中?

這是我的代碼來生成動態的CSS:

這是我的代碼:

HtmlLink objCSS = new HtmlLink(); 
    objCSS.Attributes.Add("href", "Includes/css/ADxMenuEmbed.css"); 
    objCSS.Attributes.Add("rel", "stylesheet");  
    objCSS.Attributes.Add("type", "text/css"); 
    Header.Controls.Add(objCSS); 

任何人都可以提供一些思路或樣品來解決這個問題?

+0

?或者只是純粹的HTML和CSS? – GenericTypeTea 2010-08-09 07:08:22

+0

標題說Asp.Net。我將修復標記 – Sruly 2010-08-09 07:10:00

+0

我正在使用ASP.Net ...作爲我的服務器端技術 – 2010-08-09 07:16:58

回答

2

您可以加載該板在後面的代碼像@June建議,或者您可以使用內嵌代碼(由一些令人難以接受的ASPX本身加載它,但由於CSS文件的佈局邏輯我喜歡這樣做)

如果你總是加載第二個樣式表,只是你爲每個用戶加載一個不同的用戶,你可以在你的aspx頁面的head標籤內寫入類似這樣的內容。

<link href="<%= the name of your style sheet %>" rel="stylesheet" type="text/css" /> 

如果你只把樣式表有時你可以你使用任何服務器端技術寫這

<% if (whatever) 
    { %> 
    <link href="style.css" rel="stylesheet" type="text/css" /> 
<%} %> 
+0

一個小記錄 - 如果你有''(這是默認值),你的例子通常會拋出異常。改用'<%#'並調用'.DataBind()'方法來避免它。 – Keith 2010-08-09 12:21:21

+0

這個例子爲什麼會拋出異常? – Sruly 2010-08-09 12:33:31

3

以下是這樣,你可以在你動態地添加CSS文件asp.net應用程序

,如果你想爲每個用戶登錄,你必須把加載的文件,如果在使用或東西的作用條件是獨一無二的你使用

protected void Page_Init(object sender, EventArgs e) 
{ 

    HtmlLink css = new HtmlLink(); 
    css.Href = "css/fancyforms.css"; 
    css.Attributes["rel"] = "stylesheet"; 
    css.Attributes["type"] = "text/css"; 
    css.Attributes["media"] = "all"; 
    Page.Header.Controls.Add(css); 
} 
+0

我使用相同的代碼,但只應用了一個css而不是另一個 這是我的代碼: HtmlLink objCSS =新的HtmlLink(); objCSS.Attributes.Add(「href」,「Includes/css/ADxMenuEmbed.css」); objCSS.Attributes.Add(「rel」,「stylesheet」); objCSS.Attributes.Add(「type」,「text/css」); Header.Controls.Add(objCSS); – 2010-08-09 07:21:40

相關問題