C# ASP.NET:以编程方式创建CSS类

C# ASP.NET:以编程方式创建CSS类,c#,css,asp.net,C#,Css,Asp.net,我有一个web控件,我想在某些条件下修改CSS类 理想情况下,我想写以下内容: myMenu.StaticMenuItemStyle.CssClass=(“.bgColor”,“{background:#ff0000}”) 不幸的是,这是一个第三方控件,它不公开任何样式或属性属性。唯一公开的属性是CssClass。问题是十六进制颜色是从数据库中检索到的,所以我不能在css文件中提前预定义它 编辑:我不知道用于背景的十六进制值,直到OnPreRender()从数据库中获取十六进制值。此时,我需要通

我有一个web控件,我想在某些条件下修改CSS类

理想情况下,我想写以下内容:

myMenu.StaticMenuItemStyle.CssClass=(“.bgColor”,“{background:#ff0000}”)

不幸的是,这是一个第三方控件,它不公开任何样式或属性属性。唯一公开的属性是CssClass。问题是十六进制颜色是从数据库中检索到的,所以我不能在css文件中提前预定义它

编辑:我不知道用于背景的十六进制值,直到OnPreRender()从数据库中获取十六进制值。此时,我需要通过插入/更新背景的十六进制值来创建/修改css类


如何以编程方式创建和分配css类?

有两种方法:

备选方案1 为所有可能的背景颜色保留所有预定义的css类,并根据DB十六进制值选择一个

备选案文2: 创建一个空的CustomeStyle.css文件。在您的网站中添加此CSS文件引用。
从DB中获取hexcode并通过打开customstyle.css文件编写css类。

有两种方法:

备选方案1 为所有可能的背景颜色保留所有预定义的css类,并根据DB十六进制值选择一个

备选案文2: 创建一个空的CustomeStyle.css文件。在您的网站中添加此CSS文件引用。
从DB中获取hexcode并通过打开customstyle.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");

全文

首先将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");

整篇文章

我们不能用jquery吗?不。Javascript是的。你仍然可以使用CSS选择器来选择元素,即使它们没有指定特定的类。在页面加载期间在页眉中写入CSS类,并在此处使用。在页面加载期间如何在页眉中写入CSS类?换句话说,页面加载ASP.NET事件。我们不能使用jquery吗?不。Javascript是。您仍然可以使用CSS选择器来选择元素,即使它们没有指定特定的类。在页面加载期间在页面头中写入CSS类,并在此处使用。在页面加载期间如何在页面头中写入CSS类?换句话说,页面加载ASP.NET事件。谢谢。正是我想要的。谢谢。正是我想要的。