注册 登录
编程论坛 ASP.NET技术论坛

ASP.Net利用CSS实现多界面的方法

tml327 发布于 2007-11-27 14:40, 2041 次点击
[font=Verdana][bold] [font=Verdana][font=Verdana]通过使用页面动态加载不同CSS实现多界面。
[/font][/bold][/font]
      [bold]方法一:
[/bold][/font]
以下是引用片段:
<%@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>

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

  [bold]方法二:
[/bold]
  可以通过改变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>
11 回复
#2
FenteLi2007-11-29 06:41
学习。。。
#3
guoxhvip2007-11-29 04:42
值得研究
#4
一水先生2007-11-30 17:09
我要收藏!
#5
一水先生2007-11-30 17:27
我见了好文章就想收藏,藏在
[url]http://www.[/url]
#6
tml3272007-12-01 08:15
#7
taiyangcn2007-12-07 21:01
谢谢楼主了我收藏 了

我的网盘:----------------
--------------------------------------------------------------------------------
[url]http://ruling.[/url]
--------------------------------------------------------------------------------
#8
hoddog2008-02-27 23:07
不错,我顶
收藏,我顶,经典.
#9
jalonlovesja2008-02-28 17:51
在CSS直接不行吗??你这么写着一样觉得很麻烦了。万一要修改总个代码你也要修改啊!!
 在CSS里面可以任意的修改了
什么样的样式都可以搞定了。
#10
jalonlovesja2008-02-28 17:54
写个通用的CSS了,好方便的,如果界面多的话,不是一个一个的改了,那时搞的头都大啊。
 写个CSS修改的话就只要修改CSS了,其他的都不要做
#11
hjj7222008-03-15 01:05
学习学习!
#12
beniao2008-03-16 23:13
皮肤更好,还方便改写
1