以编程方式向ListItem添加CSS类

13

我需要使用asp.net控件来生成这个结构,但是ListItem不允许添加属性和类。

最佳方法是什么?

<ul>
 <li class="1">SomeText</li>
 <li class="2">SomeText2</li>
</ul>
4个回答

28

您可以通过class属性进行传递:

<asp:BulletedList ID="BulletedList1" runat="server">
  <asp:ListItem class="1">SomeText</asp:ListItem>
  <asp:ListItem class="2">SomeText2</asp:ListItem>
</asp:BulletedList>

. . .

protected void Page_Load(object sender, EventArgs e)
{
   ListItem listItem = new ListItem("Test 3");
   listItem.Attributes.Add("class", "3");
   BulletedList1.Items.Add(listItem);
}

4

您仍然可以添加自定义属性:

// assuming li is your WebControl or HtmlControl:
li.Attributes.Add("class", "1");

他如何能够在这段代码中为每个列表项指定不同的类别? - rahul

1

在ListView中使用下拉菜单 - 如果您想在选择项目时弹出窗口,而下拉菜单的文本大小是固定的:

protected void lstViewVehicle_ItemCreated(object sender, ListViewItemEventArgs e)
{        
    try
    {
    if (e.Item.ItemType == ListViewItemType.InsertItem)
    {
        DropDownList ddl = (DropDownList)e.Item.FindControl("ddlDescription");
        if (ddl != null)
        {
            string description = exp_Type_Vehicle;
            clsBER objclsBER = new clsBER();
            DataSet ds = objclsBER.FillDropdown(description);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                ListItem lstitem = new ListItem(dr["expense_description"].ToString(), dr["eid"].ToString());
                lstitem.Attributes.Add("title", dr["expense_description"].ToString());
                //lstitem.Attributes.Add("style", "color:blue");
                ddl.Items.Add(lstitem);
            }
            ddl.DataBind();
        }
    }
    }
    catch (Exception ex)
    {
        (new csComman()).dealWithEx(ex, Session);
        Response.Redirect("ErrorPage/ErrorPage.aspx", false);
    }   
}

1

这对我来说很好用,但是使用下拉列表和VB

    Dim ListItem As ListItem = New ListItem("All folders", 0)
    ListItem.Attributes.Add("style", "color:red;")
    DropDownListFolders.Items.Add(ListItem)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接