ASP.NET小技巧-使用样式

最近访问了建行网站时 https://ibsbjstar.ccb.com.cn/V5/index.html#,(其实在oblog,http://www.oblog.cn也采用了类似的技巧,不过方法不同罢了)

可以发现,当选择不同的文本框,可以出现不同的颜色,要完成这个功能很简单,但是如果有很多类似的功能,如果一个个设置控件样式显然很累,一个简单的处理方法写一个方法让系统执行就可以了,看如下代码:

class BasePage:Page
{
public static void SetInputControlsHighlight(Control container, string className, bool onlyTextBoxes)
{
foreach (Control ctl in container.Controls)
{
if ((onlyTextBoxes && ctl is TextBox)    ctl is TextBox    ctl is DropDownList   
ctl is ListBox    ctl is CheckBox    ctl is RadioButton   
ctl is RadioButtonList    ctl is CheckBoxList)
{
WebControl wctl = ctl as WebControl;
wctl.Attributes.Add("onfocus", string.Format("this.className = '{0}';", className));
wctl.Attributes.Add("onblur", "this.className = '';");
}
else
{
if (ctl.Controls.Count > 0)
SetInputControlsHighlight(ctl, className, onlyTextBoxes);
}
}
}
}

定义一个类:主要就是重写onfocus和onblur,当用户选择不同控件时,就出现不同的样式,样式名称需要你自己定义。

这里需要注意:这个BasePage是从Page类派生,所以,以后建立页面时应该是:

WebForm1:MyPage
{
//调用SetInputControlsHighlight方法
}

这样就可以了

时间: 2024-11-10 00:28:29

ASP.NET小技巧-使用样式的相关文章

Asp.Net小技巧之在client端调用server端事件

asp.net|client|server|技巧 Asp.Net小技巧之在client端调用server端事件: string strCMD = Page.GetPostBackClientHyperlink(ControlName,Parameter); OtherControlName.Attributes.Add("ClientEventName", strCMD); 小注:   在上述两行代码中,利用Page.GetPostBackClientHyperlink方法来取得对服务

ASP.NET小技巧:重写ViewState的存储目的地,以提高页面性能

asp.net|技巧|性能|页面 在 ASP.NET 中,ViewState 因为在客户端的 HTML 里占据大量的空间,并随着页面的 PostBack 反复传递于网络中,一直为人垢病.但是实际上 ViewState 可以存储到数据库.缓存等任意地方,从而避免频繁将冗长的 base64 字符串发送到客户端.这样做不但可以显著提高性能(大幅度减少了网络传输的字节数),而且如果其中的内容也不会被轻易解密和破解.因此这个方法是很有用处的. 以下写了一个简单的例子,用缓存来作为 ViewState 存储

ASP应用小技巧之ExpiresAbsolute 属性

expires|技巧 ExpiresAbsolute 属性指定缓存于浏览器中的页的到期日期和时间 语法 Response.ExpiresAbsolute [= [date] [time]] 参数 date 指定页的到期日期.该值在符合 RFC-1123 日期格式的到期标题中发送. time 指定页的到期时间.该值在到期标题发送之前转化为 GMT 时间. 注释 如果该属性在页中被多次设置,则以最早到期的日期和时间为准. 示例 以下示例指定页在 1996 年 5 月 31 日下午 1:30 分 15

ASP.NET 小技巧(2个)_实用技巧

1. ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法? 这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限. 那么,调用一般的服务器端方法,其实就是发起一个异步回调.最简单的实现办法,是通过 UpdatePanel 来做. 首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作: 复制代码 代码如下: <asp:Link

几个 ASP.NET 小技巧_实用技巧

1. ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法? 这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限. 那么,调用一般的服务器端方法,其实就是发起一个异步回调.最简单的实现办法,是通过 UpdatePanel 来做. 首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作: <asp:LinkButton ID=&qu

艾伟:几个ASP.NET小技巧

1. ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法? 这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限.那么,调用一般的服务器端方法,其实就是发起一个异步回调.最简单的实现办法,是通过 UpdatePanel 来做.首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作: <asp:LinkButton ID="

几个ASP.NET小技巧

1. ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法? 这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限.那么,调用一般的服务器端方法,其实就是发起一个异步回调.最简单的实现办法,是通过 UpdatePanel 来做.首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作: <asp:LinkButton ID="

WEB设计中CSS样式表应用小技巧十四例

css|web|技巧|设计|样式表     CSS是Cascading style Sheets的简称,中文译作"层叠样式表单",我把它叫作"层叠样式表",我感到这样顺口一点,没别的意思.实际上它是一组样式.你可能对CSS这个名词比较陌生,实际上无论你用Internet Explorer还是 Netscape Navigator在网上冲浪,几乎随时都在与CSS打交道,在网上没有使用过CSS的网页可能不好找.不管你用什么工具软件制作网页,都有在有意无意地使用CSS.用

网页制作知识样式表CSS常用小技巧小结

css|技巧|网页|样式表 CSS样式表常用小技巧 · ul 标签在 Mozilla 中默认是有 padding 值的,而在 IE 中只有 margin 有值. · 同一个的 class 选择符可以在一个文档中重复出现,而 id 选择符却只能出现一次:对一个标签同时使用 class和 id 进行 CSS 定义,如果定义有重复,id 选择符做的定义有效. · 初学可能会碰到这样一个情况,同样一个标签的属性在 IE 设置成 A 显示是正常的,而在 Mozilla 里必须要设成 B 才能正常显示,或者