【问题标题】:How to add class CssClass and its attributes to RadioButtonList in code-behind如何在代码隐藏中将类 CssClass 及其属性添加到 RadioButtonList
【发布时间】:2016-10-17 10:32:49
【问题描述】:

在我的场景中,有一个 UserControl(Day) 包含 RadioButtonList,这个 UserControl 包含在另外 5 个 UserControls(Monday, Tuesday...Friday) 中,这个 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 个用户类型被创建为 rdlUser。用户类型如下...

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

如何将NormalUser 类应用到“普通用户”,并从代码后面的具有相关属性的SpecialUser 类中休息。

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案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 周围包裹一个 &lt;span class="NormalUser"&gt;,因此您可能需要更改 css。

    .SpecialUser label { color:red; }
    

    【讨论】:

      【解决方案2】:

      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}
      

      【讨论】:

      • 你能说得更详细一点吗?我如何知道数据库中有哪些子项用于 userTypes。
      • input[value='0'] + label 表示,找到输入值和样式下一个标签元素。 @CPK_2011
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2011-04-06
      • 1970-01-01
      • 2012-11-25
      • 2010-12-16
      • 1970-01-01
      • 2013-11-21
      相关资源
      最近更新 更多