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

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在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";

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航