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

通过使页面动态加载不同CSS实现多界面

方法一:

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

通过动态设置页面所有同类型控件的样式来该变界面:

方法二:

可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。

代码如下:

 1 None.gif public   void  page_load(Object obj,EventArgs e) 
 2 ExpandedBlockStart.gifContractedBlock.gif dot.gif
 3ExpandedSubBlockStart.gifContractedSubBlock.gifif(!Page.IsPostBack)dot.gif
 4InBlock.gif//为页面的所有控件设置样式. 
 5InBlock.gifSetCSS(Page.Controls); 
 6ExpandedSubBlockEnd.gif}
 
 7ExpandedBlockEnd.gif}
 
 8 None.gif
 9 None.gif private   void  SetCSS(System.Web.UI.ControlCollection vControls) 
10 ExpandedBlockStart.gifContractedBlock.gif dot.gif
11InBlock.giffor(int i=0;i<vControls.Count;i++
12ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif
13InBlock.gifSystem.Web.UI.Control vControl=vControls[i]; 
14InBlock.gif
15InBlock.gif//得到控件的类型 
16InBlock.gif//可增加控件类型及相应处理方法 
17InBlock.gifstring PType=vControl.GetType().Name; 
18InBlock.gifswitch (PType) 
19ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif
20InBlock.gifcase "TextBox"
21InBlock.gifTextBox_CSS ((TextBox) vControl); 
22InBlock.gifbreak
23InBlock.gifcase "Button"
24InBlock.gif//Button_CSS ((Button) vControl); 
25InBlock.gifbreak
26InBlock.gifcase "DataGrid"
27InBlock.gif//DataGrid_CSS ((DataGrid) vControl); 
28InBlock.gifbreak
29ExpandedSubBlockEnd.gif}
 
30InBlock.gifif(vControl.Controls.Count>0
31InBlock.gifSetCSS(vControl.Controls); 
32ExpandedSubBlockEnd.gif}
 
33ExpandedBlockEnd.gif}
 
34 None.gif
35 None.gif
36 ExpandedBlockStart.gifContractedBlock.gif private   void  TextBox_CSS(TextBox tb) dot.gif
37InBlock.giftb.CssClass="TextBox_show"
38ExpandedBlockEnd.gif}
 

None.gif < form  runat ="server" >  
None.gif
< asp:textbox  id ="Search1"  runat ="server" />  
None.gif
< asp:textbox  id ="Search2"  CssClass ="INPUT"  runat ="server" />  
None.gif
</ form >  

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

转载于:https://www.cnblogs.com/pyw0818/archive/2005/09/15/237963.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值