在asp.net中,有的时候要动态变换CSS,比如有的时候做个性化页面,可以这样做。
ASP.net中利用CSS实现多界面两种方法。
方法一:
通过动态设置页面所有同类型控件的样式来改变界面:
方法二:
可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。
代码如下:
public void page_load(Object obj,EventArgs e) { if(!Page.IsPostBack){ //为页面的所有控件设置样式. SetCSS(Page.Controls); } } private void SetCSS(System.Web.UI.ControlCollection VControls) { for(int i=0;i<vControls.Count;i++) { System.Web.UI.Control vControl=vControls[i]; //得到控件的类型 //可增加控件类型及相应处理方法 string PType=vControl.GetType().Name; switch (PType) { case ”TextBox”: TextBox_CSS ((TextBox) vControl); break; case ”Button”: //Button_CSS ((Button) vControl); break; case ”DataGrid”: //DataGrid_CSS ((DataGrid) vControl); break; } if(vControl.Controls.Count>0) SetCSS(vControl.Controls); } } private void TextBox_CSS(TextBox tb){ tb.CssClass=”TextBox_show”; }
<form runat=”server”>
<asp:textbox id=”Search1” runat=”server”/>
<asp:textbox id=”Search2” CssClass=”INPUT” runat=”server”/>
</form>