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

简介:

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

ExpandedBlockStart.gif <% @page language="C#" %>  
ExpandedBlockStart.gif
<% @import namespace="System.Data" %>  
ExpandedBlockStart.gif
< script  language ="c#"  runat ="server" >  
InBlock.gifpublic 
void page_load(Object obj,EventArgs e) 
ExpandedSubBlockStart.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等功能。 
代码如下: 

None.gif public   void  page_load(Object obj,EventArgs e) 
ExpandedBlockStart.gif

ExpandedSubBlockStart.gif
if(!Page.IsPostBack)
InBlock.gif
//为页面的所有控件设置样式. 
InBlock.gif
SetCSS(Page.Controls); 
ExpandedSubBlockEnd.gif}
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
private   void  SetCSS(System.Web.UI.ControlCollection vControls) 
ExpandedBlockStart.gif

InBlock.gif
for(int i=0;i<vControls.Count;i++
ExpandedSubBlockStart.gif

InBlock.gifSystem.Web.UI.Control vControl
=vControls[i]; 
InBlock.gif
InBlock.gif
//得到控件的类型 
InBlock.gif
//可增加控件类型及相应处理方法 
InBlock.gif
string PType=vControl.GetType().Name; 
InBlock.gif
switch (PType) 
ExpandedSubBlockStart.gif

InBlock.gif
case "TextBox"
InBlock.gifTextBox_CSS ((TextBox) vControl); 
InBlock.gif
break
InBlock.gif
case "Button"
InBlock.gif
//Button_CSS ((Button) vControl); 
InBlock.gif
break
InBlock.gif
case "DataGrid"
InBlock.gif
//DataGrid_CSS ((DataGrid) vControl); 
InBlock.gif
break
ExpandedSubBlockEnd.gif}
 
InBlock.gif
if(vControl.Controls.Count>0
InBlock.gifSetCSS(vControl.Controls); 
ExpandedSubBlockEnd.gif}
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
ExpandedBlockStart.gif
private   void  TextBox_CSS(TextBox tb)
InBlock.giftb.CssClass
="TextBox_show"
ExpandedBlockEnd.gif}
 
None.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 >  



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/26/262534.html如需转载请自行联系原作者
相关文章
|
1月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
6天前
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
14 3
|
21天前
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
10 1
|
15天前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
20 0
|
1月前
|
前端开发 容器
css溢出隐藏的五种方法
css溢出隐藏的五种方法
22 1
|
1月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
|
1月前
|
数据库
分享一个 .NET EF 6 扩展 Where 的方法
分享一个 .NET EF 6 扩展 Where 的方法
|
1月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
1月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
|
1月前
|
开发框架 .NET API
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
下一篇
oss创建bucket