2013-07-04 19 views
28

Mam następujący kodJak dodać element do listy rozwijanej w ASP.NET

protected void Page_Load(object sender, EventArgs e) 
{ 
     DRPFill(); 
     if (!IsPostBack) 
     { 
      DropDownList1.Items.Add("Add New"); 
     } 
} 

    public void DRPFill() 
    { 
     if (!IsPostBack) 
     { 
      //Object 
      AddMajor objMajor = new AddMajor(); 

      //Data Table 
      DataTable dtMajor = objMajor.find(); 

      //Data Source 
      DropDownList1.DataSource = dtMajor; 
      DropDownList1.DataValueField = "MajorID"; 
      DropDownList1.DataTextField = "MajorName"; 

      //Data Bind 
      DropDownList1.DataBind(); 
     } 
    } 

chcę dodać przycisk „Dodaj nowy” w określonym indeksie


ale nie jestem pewien składni w


+1

DropDownList1.Items.Insert? –

+0

Dlaczego sprawdzanie w metodzie 'DRPFill'? , dlaczego nie umieścić tego w "Jeśli" strony obciążenia – V4Vendetta

Odpowiedz

39

Spróbuj tego, wstawi element listy w indeksie 0;

DropDownList1.Items.Insert(0, new ListItem("Add New", "")); 
26

Jaki konkretny indeks? Jeśli chcesz „Dodaj nowy”, aby być pierwszym na dropdownlist można go dodać chociaż kod tak:

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server"> 
    <asp:ListItem Text="Add New" Value="0" /> 
</asp:DropDownList> 

Jeśli chcesz dodać go w innym indeksem, może ostatni następnie spróbuj:

ListItem lst = new ListItem ("Add New" , "0"); 

DropDownList1.Items.Insert(DropDownList1.Items.Count-1 ,lst); 
+0

O ile mi wiadomo, nie ma metody Dropdownlist1.Add. Byłby to DropdownList1.Items.Add(), a OP wspominał o konkretnym indeksie, który nadal będziesz musiał znać, ponieważ metoda Add po prostu doda go, nie dbając o indeks. –

4

Spróbuj użyć następującego kodu;

DropDownList1.Items.Add(new ListItem(txt_box1.Text)); 
Powiązane problemy