代码之家  ›  专栏  ›  技术社区  ›  heika

数据绑定列表框和设置css类

  •  3
  • heika  · 技术社区  · 12 年前

    我想从数据库中获取值,以生成一个列表框,其中的项在不同的类中。 在HTML中,我希望它会像

    <option value="a" class="A">A</option>
    

    在asp.net中,我写了这篇文章,但我不知道是否有任何方法可以帮助在数据绑定阶段指定类属性。(在这个阶段,我只能正确地放置选项项的文本和值。)

    lb.DataSource = CreateDataSourceForLB()
    lb.DataTextField = "TextField"
    lb.DataValueField = "ValueField"
    lb.DataBind()
    

    非常感谢你的帮助!

    3 回复  |  直到 12 年前
        1
  •  0
  •   SMK    12 年前

    您需要添加列表框的数据绑定事件,并为其每个列表项添加类属性。

    protected void ListBox1_DataBound(object sender, EventArgs e)
        {
            foreach (ListItem li in ListBox1.Items)
            {
                li.Attributes.Add("Class", "A");
            }
        }
    
        2
  •  0
  •   tsukimi    12 年前

    我不认为在数据绑定阶段,您只需要循环所有项目。

    foreach (ListItem item in lb.Items)
    {
                  item.Attributes.Add("class", item.Value.ToUpper());      
    }
    
        3
  •  0
  •   Jupaol    12 年前

    我认为您无法绑定 DropdDownList 然而,要设置HTML属性,可以在绑定控件后遍历所有项,并设置它们的属性:

            foreach (var item in this.ddl.Items.OfType<ListItem>())
            {
                item.Attributes.Add("class", "koko");
            }
    

    上面的代码生成以下HTML:

     <select name="ddl" id="ddl">
    <option selected="selected" value="" class="koko">---Select---</option>
    <option value="1" class="koko">New Hire - Job not specified</option>
    <option value="2" class="koko">Chief Executive Officer</option>
        .....
     </select>