为了账号安全,请及时绑定邮箱和手机立即绑定

为RadioButtonList每个项目设置ForeColor

标签:
JavaScript

首先对比效果:

 

 

样式前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);
                }
            });
        }
    }

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消