2009-06-23 5 views
9

asp.net을 사용하여 생성해야하지만이 구조를 제어해야하지만 ListItem에서는 속성 및 클래스를 추가 할 수 없습니다.프로그래밍 방식으로 ListItem에 CSS 클래스 추가

가장 좋은 방법은 무엇입니까? 당신은 여전히 ​​사용자를 추가 할 수 있습니다

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

답변

23

당신은 통과 할 수 클래스 속성 :

<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"); 
+0

그는이 코드로 각 목록 항목마다 다른 클래스를 어떻게 지정할 수 있습니까? – rahul

1

이 나를 위해 잘 작동하지만 사용하여 드롭 다운리스트와 VB

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

드롭 다운 목록보기에서 - 드롭 다운 TEXTSIZE가 고정되어있을 때이 항목을 선택에 팝업 창을 제공하려는 경우 :

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); 
    } 
} 
관련 문제