在Web系统开发过程中,采用CSS 增强和美化页面样式已经成了一道标准‘工序’。在Visual Studio .NET 环境下开发BS系统,可以通过设置WEB 控件的CssClass属性,方便地设置和修改控件的样式。
但在实际开发过程中,让开发人员一个个地设置控件的CssClass属性,不仅繁琐,而且容易出错,更头疼的是,还可能造成维护上的麻烦。
下面的代码段演示了一种在实际应用中取得良好效果的解决办法,希望能起到抛砖引玉的效果。基于这样的思路,相信大家可以开发出更多的应用,如实现简单的SKIN功能等。
代码如下。使用方法就是在每个.ASPX的Page_Load()方法里调用LoadPageCSS ()即可。
public void LoadPageCSS (System.Web.UI.Page vPage)
{
if (!vPage.IsPostBack)
{
SetControlsCSS (vPage.Controls);
}
}
private void SetControlsCSS (System.Web.UI.ControlCollection vControls)
{
for (int i=0; i<vControls.Count; i++)
{
System.Web.UI.Control vControl = vControls[i];
string vControlName = vControl.GetType().Name;
switch (vControlName)
{
case "TextBox":
TextBox_CSS ((TextBox) vControl);
break;
case "RadioButtonList":
RadioButtonList_CSS ((RadioButtonList) vControl);
break;
case "DropDownList":
DropDownList_CSS ((DropDownList) vControl);
break;
case "Button":
Button_CSS ((Button) vControl);
break;
case "DataGrid":
DataGrid_CSS ((DataGrid) vControl);
break;
/// 更多的控件类型及其处理方法
/// ....
/// ...
}
if (vControl.Controls.Count > 0)
{
SetControlsCSS (vControl.Controls);
}
}
}
private void RadioButtonList_CSS(RadioButtonList vRdoList)
{
vRdoList.CssClass ="RadioButtonList_show";
}
关键词:用C#代码动态改变页面样式