user3437460
user3437460

Reputation: 17474

How to bind drop down list with string array in ASP.NET?

I am able to bind drop down list with a string array by doing so (not sure whether this is the correct way to implement):

string[] items = { "111", "222", "333" };
ddlSearch.DataSource = items;
ddlSearch.DataBind();

However, what I actually wanted is: When I click the drop down list, the first item showing in the list shall be 111 followed by 222 and 333.

How am I able to add the strings of text to show in the drop down list when I click the drop down list button?

Java has an easy way to add items to be displayed in the list, but how do we do it in C#? (I am very new to C# by the way.)

Upvotes: 4

Views: 37615

Answers (2)

Thierry_S
Thierry_S

Reputation: 1616

Source: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linqdatasource.contexttypename(v=vs.110).aspx

public class MovieLibrary
{
    string[] _availableGenres = { "Comedy", "Drama", "Romance" };

    public MovieLibrary()
    {
    }

    public string[] AvailableGenres
    {
        get
        {
            return _availableGenres;
        }
    }
}


<asp:LinqDataSource 
    ContextTypeName="MovieLibrary" 
    TableName="AvailableGenres" 
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DropDownList 
    DataSourceID="LinqDataSource1"
    runat="server" 
    ID="DropDownList1">
</asp:DropDownList>

Upvotes: 0

Izzy
Izzy

Reputation: 6876

It would be easier to use List<string>

Markup can be

<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>

The backend code would look like

var items = new List<string> {
"111",
"222",
"333"
};
items.Sort(); 

DropDownList1.DataSource = items;
DropDownList1.DataBind();

Upvotes: 11

Related Questions