用C#代码动态改变页面样式

来源:互联网 发布:金山数据恢复靠谱吗 编辑:程序博客网 时间:2024/05/18 02:27

Web系统开发过程中,采用CSS 增强和美化页面样式已经成了一道标准工序。在Visual Studio .NET 环境下开发BS系统,可以通过设置WEB 控件的CssClass属性,方便地设置和修改控件的样式。

但在实际开发过程中,让开发人员一个个地设置控件的CssClass属性,不仅繁琐,而且容易出错,更头疼的是,还可能造成维护上的麻烦。

下面的代码段演示了一种在实际应用中取得良好效果的解决办法,希望能起到抛砖引玉的效果。基于这样的思路,相信大家可以开发出更多的应用,如实现简单的SKIN功能等。

代码如下。使用方法就是在每个.ASPXPage_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
     { 
        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";  
}

 

原创粉丝点击