tag route net for data asp all asp.net webforms listitem

asp.net - route - select asp-for asp-items



Agregar programáticamente clase css a ListItem (4)

Aún puede agregar atributos personalizados:

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

Necesito producir con asp.net controles esta estructura, pero ListItem no permite agregar propiedades y clases.

¿Cuál es la mejor manera de hacerlo?

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


Puede transferir el atributo de clase:

<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); }


Esto funciona bien para mí, pero usando dropdownlist y VB

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


Desplegable en la vista de lista - si desea dar una ventana emergente al seleccionar el elemento cuando se corrige el tamaño de texto desplegable:

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); } }