如何从数据库运行时设置样式?

时间:2009-07-02 09:30:47

标签: asp.net runtime styles

我很难找到一个很好的清晰的解决方案来解决如何创建一个从数据库f.ex加载它的样式属性的网页。按钮返回和前景色,字体大小等到一个会话对象,并从那里将它们设置在每个页面上所需的控件。

我在Global.asax中有一个加载器 - > Session_Start将值从db加载到名为“settings”的会话对象。接下来,我尝试使用Themes并在皮肤文件f.ex上设置这些属性。

<asp:Button BackColor="<%=((Settings)Session["settings"]).BtnBackColor%>" 

可以在一个地方更改所有按钮。但是在ASP.NET上,无法在服务器控件上设置类似的属性。

所以当然有可能在每个网页上我在每个网页控件上的Page_Load方法中设置这些样式,但我不认为这是一个非常强大,高效或整洁的选项。

因此,如果有人对此有任何想法,应该如何进行,以便尽可能保持代码的维护和稳健性,我真的很感激您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要打开数据集或datareader,然后将其关联以控制属性。

Button1.Attributes.Add ("font-family", ds.Tables[0].Rows[0]["font"].ToString());
Button1.Attributes.Add ("color", ds.Tables[0].Rows[0]["color].ToString());