ASP.Net中利用CSS实现多界面

2025-11-24 14:38:00

1、下面的代码需要实践:

<%@page language="C#"%>  <%@import namespace="System.Data"%>  <script language="c#" runat="server">  public void page_load(Object obj,EventArgs e)  {  //创建服务器端控件.  //指定的标记"LINK"初始化此类的新实例.  HtmlGenericControl objLink=new HtmlGenericControl("LINK");  objLink.ID=ID;  objLink.Attributes["rel"]="stylesheet";  objLink.Attributes["type"]="text/css";  objLink.Attributes["href"]="portal.css";  //此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件.  MyCSS.Controls.Add(objLink);  }  </script>  <html>  <head>  <title>c#</title>  <asp:placeholder id="MyCSS" runat="server"></asp:placeholder>  </head>  <body bgColor="#ffcc66" style="FONT:9pt">  <form runat="server">  </form>  </body>  </html> 

ASP.Net中利用CSS实现多界面

2、可以通过改变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> 

  运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show".

ASP.Net中利用CSS实现多界面

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢