为 DropDownList 选项添加背景或样式

由于项目需求,  要实现 DropDownList  选项背景, 在网上找了很久, 还是没有找到合意的,
可能因 ListItem 它不对 Attributes 解析, 要么就重写 DropDownList 的 RenderContents 方法等.
并且还要处理 ViewStatus .或是将 DropDownList 改为 HtmlSelect 但要改的比较多所以暂时放弃.

用 CSS Style 吧, 突然想到用Style 结合 Expression 功能十分强大, 没白费力气, 试了很久, 终于得想要的结果.
为按要求为不同的的选项设置不同的样式.

<style>
/**//*为前三项设置 蓝色(#0000ff) 背景*/
#ControlID Option {background-color: expression(index in [0,1,2]?'#0000ff':'');}
</style>
<style>
/**//*为选项值 小于 9 的项设置 红色(#ff0000) 背景*/
#ControlID Options{background-color:expression(parseInt(value, 10) < 9?'#ff0000':'');}
</style>
<style>
/*为选项值 等于 2 或 3 的项设置 灰色(#cccccc) 背景*/
#ControlID Options{background-color:expression((value=="2"||value=="3")?'#cccccc':'');}
</style>

公式 还可以处理 option 的其它属性 如 selected, text, parentElement 等


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cqdyh/archive/2007/01/12/1480881.aspx

原文地址:https://www.cnblogs.com/starlet/p/1676921.html