程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net通過動態加載不同CSS實現多界面

asp.net通過動態加載不同CSS實現多界面

編輯:ASP.NET基礎

方法一:

復制代碼 代碼如下:
<%@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>

==========================================
通過動態設置頁面所有同類型控件的樣式來該變界面:

方法二:

可以通過改變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".

以上2種方法就是.net種實現加載不同CSS來實現多種頁面效果,非常的實用,有相同需求的小伙伴參考下吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved