ASP.NET中利用CSS實(shí)現(xiàn)多界面兩法

2010-08-28 10:51:35來(lái)源:西部e網(wǎng)作者:

  方法一:通過(guò)使頁(yè)面動(dòng)態(tài)加載不同CSS實(shí)現(xiàn)多界面

%@page language="C#"%> 
%@import namespace="System.Data"%> 
<script language="c#" runat="server"> 
public void page_load(Object obj,EventArgs e) 

//創(chuàng)建服務(wù)器端控件. 
//指定的標(biāo)記"LINK"初始化此類(lèi)的新實(shí)例. 
HtmlGenericControl objLink=new HtmlGenericControl("LINK"); 
objLink.ID=ID; 
objLink.Attributes["rel"]="stylesheet"; 
objLink.Attributes["type"]="text/css"; 
objLink.Attributes["href"]="portal.css"; 

//此控件不產(chǎn)生任何可見(jiàn)輸出,僅作為其他控件的容器,可在其中添加,插入或移除控件. 
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> 


  方法二:通過(guò)動(dòng)態(tài)設(shè)置頁(yè)面所有同類(lèi)型控件的樣式來(lái)該變界面

  可以通過(guò)改變WEB控件的CssClass屬性,可方便地設(shè)置和修改控件的樣式。

  但在實(shí)際開(kāi)發(fā)過(guò)程中,一個(gè)個(gè)地設(shè)置控件的CssClass屬性,非常繁瑣,所以此思路應(yīng)用不廣.

  但下面的代碼段演示了一次性改變頁(yè)面所有同類(lèi)型控件的樣式的方法,可以實(shí)現(xiàn)簡(jiǎn)單的SKIN等功能。

  代碼如下:

public void page_load(Object obj,EventArgs e) 

if(!Page.IsPostBack){ 
//為頁(yè)面的所有控件設(shè)置樣式. 
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]; 

//得到控件的類(lèi)型 
//可增加控件類(lèi)型及相應(yīng)處理方法 
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> 

  運(yùn)行后,查看頁(yè)面源碼?砂l(fā)現(xiàn)文本框的樣式已統(tǒng)一修改為"TextBox_show"。

關(guān)鍵詞:ASP.NET

贊助商鏈接: