программно добавить класс CSS в ListItem - PullRequest
11 голосов
/ 23 июня 2009

Мне нужно создать с помощью asp.net элементы управления этой структурой, но ListItem не позволяет добавлять свойства и классы.

Какой лучший способ сделать это?

<ul>
 <li class="1">SomeText</li>
 <li class="2">SomeText2</li>
</ul>

Ответы [ 4 ]

25 голосов
/ 23 июня 2009

Вы можете передать атрибут класса:

<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 голосов
/ 23 июня 2009

Вы все еще можете добавить пользовательские атрибуты:

// assuming li is your WebControl or HtmlControl:
li.Attributes.Add("class", "1");
1 голос
/ 25 мая 2011

Раскрывающийся список - если вы хотите, чтобы всплывающее окно при выборе элемента при фиксированном размере раскрывающегося текста:

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 голос
/ 23 февраля 2011

Это нормально работает для меня, но с использованием dropdownlist и VB

    Dim ListItem As ListItem = New ListItem("All folders", 0)
    ListItem.Attributes.Add("style", "color:red;")
    DropDownListFolders.Items.Add(ListItem)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...