我搜索谷歌和SO,但沒有找到解決方案。在asp.net中動態加載CSS元素
我有一個asp.net的網絡應用程序,允許用戶自定義一些GUI方面(如字體顏色,添加自定義標誌等)。這些信息存儲在用戶配置文件數據庫中。
我有一個填充字體顏色等的css文件。主頁面從數據庫加載用戶配置文件,並相應地自定義頁面。
除了有其自己的每個標籤「字體顏色=」,我怎麼能顯示CSS元素的基礎上,從數據庫返回的用戶個人資料嗎? THX
我搜索谷歌和SO,但沒有找到解決方案。在asp.net中動態加載CSS元素
我有一個asp.net的網絡應用程序,允許用戶自定義一些GUI方面(如字體顏色,添加自定義標誌等)。這些信息存儲在用戶配置文件數據庫中。
我有一個填充字體顏色等的css文件。主頁面從數據庫加載用戶配置文件,並相應地自定義頁面。
除了有其自己的每個標籤「字體顏色=」,我怎麼能顯示CSS元素的基礎上,從數據庫返回的用戶個人資料嗎? THX
可以包含指向一個ASPX頁面一個額外的CSS文件:
<link rel="stylesheet" type="text/css" href="/CustomStyles.aspx" />
然後在CustomStyles.aspx
改變默認的內容類型:
Response.Clear()
Response.ContentType = "text/css"
然後就開始輸出你的風格:
Response.Write("#awesome-button{color:" & ColorFromDatabase & ";}"
確保該文件包含在其他樣式之後,所以t它優先考慮。您也可以在此處投入!IMPORTANT
。
Response.Write("#awesome-button{color:" & ColorFromDatabase & " !IMPORTANT;}"
+1哇,我覺得我們是一個熱死。我不認爲我見過「的回答是0秒」之前! http://yfrog.com/j2ojtp –
您應該看到我在eBay上! –
你知道枚舉或官方包裝本,避免硬編碼的或無效的顏色嗎?在ASP.NET MVC項目中,任何有意義的東西都可以使用。 – Shimmy
這取決於你如何有存儲的信息,但你可以將元素通過這樣的代碼添加樣式:
Button1.Style["font-weight"] = "bold";
或者你可以應用CSS類控制:
Button1.CssClass = "buttonStyle";
您可以根據存儲在數據庫中的首選項返回一個CSS文件。所以,你會:
<link rel="stylesheet" href="somepage.aspx?userid=<%=userID%>">
你可以甚至可能做到這一點很容易足以與傳統的ASP頁面,Web服務等
的一點是,該網頁會產生相同的基本樣式,盡顯用戶選擇的正確顏色等。這樣,在加載頁面後,您不必在服務器端或客戶端代碼中執行一堆樣式更改,或者將您的用戶首選項代碼與HTML混合,或者如果需要更改基本頁面改變樣式表的工作方式。這也使得在測試站點本身之外輕鬆測試樣式表。
http://msdn.microsoft.com/en-us/library/ms366514.aspx –