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

2016-01-29 13:48 7 1 收藏

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

【 tulaoshi.com - ASP.NET 】

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

方法一:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

<%@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
<titlec#</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.Count0)
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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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

来源:http://www.tulaoshi.com/n/20160129/1491604.html

延伸阅读
标签: Web开发
换皮肤的方式有很多种,最简单的通常就是切换页面CSS,而CSS通常写在外部CSS文件里。那么切换css其实就是更换html里的link href路径。我在网上搜索了下。一般有两种方式: 1,在页面放一个holder控件。然后用编程方式把当前用户的风格css link写入页面。 2,通过反射机制,逐个控件设置css样式。 上面两种方式都挺麻烦的, ...
标签: Web开发
对于窗体间简单的通信,采用VB6.0的方法就能满足我们的要求,但在一些架构设计复杂的应用中,这种方法就显得有点捉襟见肘了,同时该方法还有一个缺点,就是它仅仅对通过.NET窗体向导添加进去的窗体起作用,而对于自定义的窗体类型我们是无法添加到Forms对象集合中的。而且也和其它诸如构造函数传参等方法一样,会在窗体间大量互相引用各自的成员...
标签: Web开发
NHibernate中的Session,在我的理解似乎就相当于数据库中连接。因为它也有Open/Close的方法,我没有研究NHibernate的源码,不知道这种理解是否有误?我在网上搜了很多的关于Session的管理,大多都是在我需要数据库操作的时候,就OpenSession(),操作完后就CloseSession().这有点拟似如我们刚开始学习ADO.NET的时候,要Connection对象Open(),数据...
标签: Web开发
其实在ASP.Net编程中,不用调用md5.asp来加密数据。在DotNet中有自带的类:System.Web.Security.HashPasswordForStoringInConfigFile() public string md5(string str,int code) { if(code==16) //16位MD5加密(取32位加密的9~25字符) { return System.Web.Security.FormsAuthentication.HashPasswordForStorin...
今天我想实现利用javascript调用WebService我首先就想到了ASP.Net Ajax 因为微软的东西用着方便,我从网上看了看,这东西好多人都写了,我就从官方找了个Demo下了看看源代码,感觉没什么特殊的,于是动手开始写.先添加一个webservice.asmx然后在default.aspx中加入ScriptManager 并设置serviecs属性 <asp:ScriptManager runa...

经验教程

741

收藏

5
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部