飞龙博客

深入经藏 智慧如海

net下动态变换css样式或切换网页皮肤方法整理

feilong.org 修订于2009-06-01 10:01:50 1,043

用visual studio.net做网页开发的时候,需要变换css样式表来给网页换皮肤,怎么做?这里说的变换样式表,不是指更换样式表,而是动态变换或切换网站皮肤或主题。参考相关资料,飞龙整理本日志更新地址:http://feilong.org/net-css-huan-pifu-yangshi,不定期修订。2009-0601第3次修订。

一、net下动态变换css方法一:

1.先参考使用如下代码:
<head>
<link id="mystylesheet" rel="stylesheet" type="text/css" runat="server" />
</head>

2.再在要更换css的网页里面使用以下代码:
sub page_load(sender as object, e as eventargs)
if not (ispostback)
mystylesheet.attributes.add("href","/css/feilong1.css")
end if

二、net下动态变换css方法二:通过加载不同css实现多皮肤界面切换。

<%@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>

三、net下动态变换css方法三:通过动态设置同类型控件样式来改变网页界面。

通过改变web控件的cssclass属性,可方便设置和修改控件样式。但实际开发中,一个个地设置控件cssclass属性,太繁琐,导致此思路应用不广。下面代码段演示了一次性改变页面同类型控件样式的方法,可实现简单skin变换。

public void page_load(object obj,eventargs e)
{
if(!page.ispostback){
//为页面的所有控件设置样式.
setcss(page.controls);
}
}

四、飞龙补充一下,有些朋友在visual studio下开发网页的时候,发现原Dreamweaver里面net下css样式失效的问题解决方法,可以参考日志:http://feilong.org/aspnet-css-change-style-sheet

五、net下通过切换css来换皮肤,参考:http://www.cnblogs.com/kwklover/archive/2007/01/03/610822.html。最后看看这个 net下css调整工具:http://www.asp.net/cssadapters

博主:飞龙.org
链接:http://feilong.org/net-css-huan-pifu-yangshi
庭院 e页通:http://e.jiaju99.com 可加入收藏夹

更新网址:http://feilong.org/net-css-huan-pifu-yangshi
最初发布:20081115 07:32:00 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: 网站开发

新作:

旧文:

飞龙前端QQ群