Dropdownlist--自定义下拉选项的颜色

本文介绍了一种在ASP.NET中使用DropdownList时,如何通过后台代码为每一项设置不同的颜色的方法。具体实现包括创建自定义数据类、填充DropdownList并设置每项的颜色属性。

给Dropdownlist的ListItem花花一次,自定义一下颜色

效果:

代码:
.aspx

<form id="Form1" method="post" runat="server">
 
<SELECT id="MyDropDown"  onchange="document.forms[0].submit()"    OnServerChange="MyDropDown_ServerChanged" runat="server" NAME="MyDropDown"/>        
</form>

.cs

protected System.Web.UI.HtmlControls.HtmlSelect MyDropDown;   
        
private void Page_Load(object sender, System.EventArgs e)
        {
            
if(!IsPostBack)
            {
                ArrayList ds 
= GetData();
        
                
foreach(MyData data in ds)
                {
                    ListItem item 
= new ListItem(data.Text,data.Value);
                    item.Attributes.Add(
"style""color:" + data.Color);
                    MyDropDown.Items.Add(item);        
                }
            }

        }

        
public ArrayList GetData()
        {
            System.Collections.ArrayList data 
= new System.Collections.ArrayList();
            data.Add(
new MyData("Cnblogs","Cnblogs","Red"));
            data.Add(
new MyData("-.net","-.net","Blue"));
            data.Add(
new MyData("--.net","--.net ","Green"));
            data.Add(
new MyData("Overred","Overred","Red"));
            data.Add(
new MyData("-ooeess","-ooeess","Blue"));
            data.Add(
new MyData("--ooeess","--ooeess","Green"));
            
            
return data;
        }
        
        
public class MyData
        {
            
string _Text;
            
string _Value;
            
string _Color;
            
            
public string Text{getreturn _Text;}}
            
public string Value{getreturn _Value;}}
            
public string Color{getreturn _Color;}}

            
public MyData(string text,string value,string color)
            {
                _Text 
= text;
                _Value 
= value;
                _Color 
= color;
        
            }
        }

         
public void MyDropDown_ServerChanged(object sender, EventArgs e)
        {
            
            ListItem selectedItem 
= MyDropDown.Items[MyDropDown.SelectedIndex];
            Response.Write(selectedItem.Text);
            MyDropDown.Items.Clear();
            ArrayList ds 
= GetData();
        
            
foreach(MyData data in ds)
            {
                ListItem item 
= new ListItem(data.Text,data.Value);
                item.Attributes.Add(
"style""color:" + data.Color);
                MyDropDown.Items.Add(item);        
            }
        }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值