3

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

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

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

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

非常感谢您的帮助!

4

3 回答 3

0

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

foreach (ListItem item in lb.Items)
{
              item.Attributes.Add("class", item.Value.ToUpper());      
}
于 2012-07-17T07:40:19.423 回答
0

我认为您不能绑定 a 的属性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>
于 2012-07-17T07:40:35.773 回答
0

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

protected void ListBox1_DataBound(object sender, EventArgs e)
    {
        foreach (ListItem li in ListBox1.Items)
        {
            li.Attributes.Add("Class", "A");
        }
    }
于 2012-07-17T07:43:28.940 回答