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