ASP.NET:以编程方式创建CSS类
问题描述:
我有一个Web控件,我想在特定条件下修改CSS类。ASP.NET:以编程方式创建CSS类
理想情况下,我想编写类似:
myMenu.StaticMenuItemStyle.CssClass =( “.bgColor”, “{背景:#FF0000}”);
不幸的是,这是第三方控件,它不公开任何Style或Attribute属性。唯一暴露的属性是CssClass。问题是十六进制颜色是从数据库中检索的,所以我不能预先在css文件中预先定义它。
编辑:我不知道用于背景的HEX值,直到我从数据库中获取HEX值的OnPreRender()。此时,我需要通过插入/更新背景的HEX值来创建/修改css类。
如何以编程方式创建和分配css类?
答
首先应用CSS类可以控制在页头克里特岛样式表如下
//// Create dynamic style rule which applies to the CSS class selector (".MyCssClass")
Style dynamicClassStyle = new Style();
dynamicClassStyle.BorderStyle = BorderStyle.Solid;
dynamicClassStyle.BorderColor = System.Drawing.Color.Black;
dynamicClassStyle.BorderWidth = new Unit(1);
dynamicClassStyle.BackColor = System.Drawing.Color.White;
Page.Header.StyleSheet.CreateStyleRule(dynamicClassStyle, null, ".MyCssClass");
全部文章here
+0
谢谢。正是我在找什么。 – Pavel
答
有几种方式:
选项-1 保持所有预先定义的CSS类为所有可能的背景颜色,选择基于DB十六进制值之一。
选项-2: 创建一个空的CustomeStyle.css文件。在您的网站中添加此CSS文件参考。 从DB获取十六进制代码,并通过打开customstyle.css文件来编写一个css类。
我们不能用jQuery做呢? – aspxsushil
没有Javascript是的。 – Pavel
您仍然可以使用CSS选择器来选择元素,即使它们没有分配给它们的特定类。 – krillgar