2013-07-04 12 views
28

Ho il seguente codiceCome aggiungere un elemento a un elenco a discesa in 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(); 
     } 
    } 

voglio aggiungere "Add new" in un indice specifico


ma non sono sicuro della sintassi


+1

DropDownList1.Items.Insert? –

+0

Perché il controllo nel metodo 'DRPFill'? , perché non metterlo in "if" della pagina caricata – V4Vendetta

risposta

39

Prova questo, inserirà la voce di elenco all'indice 0;

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

Quale indice specifico? Se si vuole 'Aggiungi nuovo' essere il primo sul DropDownList è possibile aggiungerlo anche se il codice come questo:

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

Se si desidera aggiungere in un secondo indice diverso, forse l'ultima quindi provare:

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

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

Per quanto ne so non esiste un metodo Dropdownlist1.Add. Sarebbe DropdownList1.Items.Add() e l'OP ha menzionato un indice specifico che avresti ancora bisogno di sapere come il metodo Aggiungi lo aggiungerà semplicemente senza preoccuparsi dell'indice. –

4

Provare il seguente codice;

DropDownList1.Items.Add(new ListItem(txt_box1.Text)); 
Problemi correlati