继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

为RadioButtonList每个项目设置ForeColor

不要慕码人我要切诺基
关注TA
已关注
手记 281
粉丝 37
获赞 120

首先对比效果:

 

 

样式前RadioButtonList每个项目是没有设置前景色的。现在Insus.NET改写为样式后的效果。

这个改动,都是因昨晚开发时,儿子做完作业,来到Insus.NET身旁看了屏幕上写的程序。他用手指指并问,那是什么?Insus.NET跟他说“那是让用户可以选择颜色的功能。”他听了,回答说“既然是选择颜色的,怎会每个颜色都是黑色呢?”......

 

现在Insus.NET分享实现的方法,其中有应用了泛型(System.Collections.Generic)。

.aspx:

<asp:RadioButtonList ID="RadioButtonListColour" runat="server" RepeatColumns="5" OnDataBound="RadioButtonListColour_DataBound"></asp:RadioButtonList> 

 

准备数据源,是一个泛型数据集:

View Code  private List<string> Colours
    {
        get
        {
            List<string> o = new List<string>();
            o.Add("Red");
            o.Add("Blue");
            o.Add("Green");
            o.Add("SkyBlue");
            o.Add("LimeGreen");
            return o;
        }
    }

 

把数据绑定至RadioButtonList控件上:

View Code protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Data_Binding();
        }
    }

    private void Data_Binding()
    {
        this.RadioButtonListColour.DataSource = Colours.Select(c => new { value = c }).ToList();
        this.RadioButtonListColour.DataTextField = "value";
        this.RadioButtonListColour.DataBind();
    }

 

实现OnDataBound="RadioButtonListColour_DataBound"事件:

View Code  protected void RadioButtonListColour_DataBound(object sender, EventArgs e)
    {
        var rbl = sender as RadioButtonList;
        foreach (ListItem li in rbl.Items)
        {
            Colours.ForEach(delegate(string s)
            {
                if (s == li.Text)
                {
                    li.Attributes.Add("style", "color:" + s);
                }
            });
        }
    }

 

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP