我搜索谷歌和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 –