如何在代码隐藏中将类CssClass及其属性添加到R​​adioButtonList

时间:2016-10-17 10:32:49

标签: c# asp.net user-controls

在我的场景中,有一个包含RadioButtonList的UserControl(Day),这个UserControl包含在另外5个UserControls中(星期一,星期二......星期五),这个UserControls放在aspx页面中。

在Day UserControl背后的代码中,存在以下代码。

rdlUser.DataTextField = "Description";
rdlUser.DataValueField = "Value";
rdlUser.DataSource = userTypes;
rdlUser.DataBind();
rdlUser.Items[0].Enabled = false;

Day UserControl中rdlUser的标记如下...

<asp:RadioButtonList ID="rdlUser" AutoPostBack="true" OnSelectedIndexChanged="rdlUser_SelectedIndexChanged"></asp:RadioButtonList> 

在来自数据库的Day UserControl中,有4个userTypes被创建为rdlUser。 userTypes在下面给出......

rdlUser_0 - Normal User
rdlUser_1 - Supervisor
rdlUser_2 - Admin
rdlUser_3 - Super User

如何将课程NormalUser应用于&#34;普通用户&#34;并从具有相关属性的代码中作为SpecialUser类休息。

2 个答案:

答案 0 :(得分:1)

RadioButtonList生成包含输入和标签的HTML输出。

<input id="rdlUser_0" type="radio" name="rdlUser_0" value="0">
<label for="rdlUser_0">Normal User</label>

最佳做法,将选项的样式添加到css文件中。

#rdlUser input[value='0'] + label {color:red}

或者

#rdlUser label:nth-child(1){color:red}

答案 1 :(得分:1)

您可以循环所有ListItem元素。

        foreach (ListItem item in rdlUser.Items)
        {
            if (item.Text == "Normal User")
            {
                item.Attributes.Add("class", "NormalUser");
            }
            else
            {
                item.Attributes.Add("class", "SpecialUser");
            }
        }

请注意,这会在RadioButton周围包裹<span class="NormalUser">,因此您可能需要更改css。

.SpecialUser label { color:red; }