2016-04-10 16 views
5
Bir DropDownList başlatmak için çalışıyorum

ile DropDownList başlatmak ve bu benim seçme yöntemidir nasılListItems

public List<ListItem> metodShownAbove() 
{ 
    List<ListItem> initlist = new List<ListItem>(); 
    if (!IsPostBack) 
    { 
     initlist.Add(new ListItem("--- all---", "-1")); 
     initlist.Add(new ListItem("text1", "Value1")); 
     initlist.Add(new ListItem("text2", "Value2")); 
     initlist.Add(new ListItem("text3", "Value3")); 
    } 
    return initlist; 
} 

Ve bu benim aspx sayfasında geçerli:

<asp:DropDownList ID="DDL" runat="server" AutoPostBack="True" 
    SelectMethod="metodShownAbove"/> 

initlist dönen ne Yukarıda gösterildiği gibi geri dönmek, metin ve değer vermek istiyorum. Ama seçili değer veya metin, DDL.SelectedItem.Value ve DDL.SelectedItem.Text almayı denediğimde, aynı değer, ListItem initlist içindeki ilk değerdir. DDL'de 'Değer1' içeren hiçbir özellik yoktur. Neyi yanlış yapıyorum, değerleri doğru şekilde nasıl ekleyeceğim, böylece hem değeri hem de metni okuyabileyim?

cevap

6

Sen ListItems ait Value özelliğine DropDownList DataValueField ayarlamalısınız:

İşte
<asp:DropDownList ID="DDL" runat="server" DataTextField="Text" DataValueField="Value" ... /> 

Ben de öğelerin Text özelliğine DataTextField ayarlayın.

İlgili konular