当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET通过使页面动态加载不同CSS实现多界面

ASP.NET
asp.net(C#) 生成随机验证码的代码
C# 生成高质量缩略图程序—终极算法
iis的http 500内部服务器错误的解决
效控制C#中label输出文字的长度,自动换行
asp.net下生成99个不同的随机数
Asp.Net文本换行
Asp.Net中文本换行
asp.net 上传大文件解决方案
asp.net程序编译调试时偶尔出现访问被拒绝的错误的解决方法
控件开发时两种JS嵌入资源方式的使用方法
AspNetPager分页控件源代码(Version 4.2)
asp. net下使用foreach简化文本文件的访问。
asp.net下经典数据库记录分页代码
微软发布的Data Access Application Block的使用代码
如何在网站级别动态更改主题
asp.net下模态对话框关闭之后继续执行服务器端代码的问题
asp.net下利用JS实现对后台CS代码的调用方法
批量删除记录时如何实现全选方法总结
asp.net下OnClientClick的妙用!
[c#]asp.ent下开发中Tag的开发技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-13   浏览: 184 ::
收藏到网摘: n/a

  ASP.Net中利用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>  

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

  方法二:

  可以通过改变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>