2017-04-16 3 views
0

ich eine Dropdown-Liste haben, und ich will jedes listitem mit einem idWie ID einem asp zuzuweisen: ListItem

<asp:DropDownList id="ATime" runat="server" CssClass="form-control"> 
<asp:ListItem>--Select--</asp:ListItem> 
<asp:ListItem>8AM-2PM</asp:ListItem> 
<asp:ListItem>9AM-5PM</asp:ListItem> 
<asp:ListItem>6PM-12AM</asp:ListItem> 
<asp:ListItem>3PM-9PM</asp:ListItem> 
<asp:ListItem>Other</asp:ListItem> 
</asp:DropDownList> 
+0

Warum brauchen Sie es? Und ein 'ListItem' hat eine' Text' und 'Value' Eigenschaft, also könnten Sie diese verwenden:' ' – VDWWD

Antwort

2

ListItem nicht haben eine ID Eigenschaft zuweisen, da es nicht abgeleitet von der Kontrolle, so hat es nicht ID.

Wenn Sie den ListItem Wert gesucht werden soll, die von ListItemCollection (Eigenschaft Items) geschrieben wurde, dann können Sie wie this- tun

Dim listItem As ListItem = ATime.Items.FindByValue(Request.Form("9AM-5PM")); 
0

Sie könnten Attributes Element Id mit Listenelement Option hinzufügen. Rendered HTML-Elemente werden die jemals ID übergeben Sie.

protected void Page_Load(object sender, EventArgs e) 
    { 
     ListItem listItem = new ListItem("Item 1"); 
     listItem.Attributes.Add("id", "ListItem-1"); 
     ATime.Items.Add(listItem); 
    } 
0

Nun, wenn Sie ID als Attribut der Listenelemente gemeint haben, dann natürlich, Sie können es tun. Sie müssen die Attributes Sammlung von ListItem verwenden Hier ist wie.

int idx = 0; 
foreach(ListItem item in ddl.Items) 
{ 
    // if you'd like the id populated with the text value 
    item.Attributes.Add("id", item.Text); 
    // if you'd like the id populated with the index value 
    //item.Attributes.Add("id", idx.ToString()); 
    idx++; 
} 
Verwandte Themen