2009-06-23 27 views
9

Ho bisogno di produrre con asp.net controlli questa struttura, ma ListItem non consente di aggiungere proprietà e classi.aggiungi codice css a ListItem

Qual è il modo migliore per farlo?

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

risposta

23

È possibile pass-through attributo di classe:

<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

È comunque possibile aggiungere attributi personalizzati:

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

Come può specificare classi diverse per ogni voce di elenco con questo codice? – rahul

1

Questo funziona bene per me, ma utilizzando DropDownList e VB

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

discesa in listview - se si vuole dare finestra pop-up sulla selezione di voce quando discesa TEXTSIZE è fissato:

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