DropDownList můžete svázat se zdrojem dat (DataTable, List, DataSet, SqlDataSource atd.).
Pokud jste například chtěli použít DataTable:
ddlSubject.DataSource = subjectsTable;
ddlSubject.DataTextField = "SubjectNamne";
ddlSubject.DataValueField = "SubjectID";
ddlSubject.DataBind();
UPRAVIT – úplnější příklad
private void LoadSubjects()
{
DataTable subjects = new DataTable();
using (SqlConnection con = new SqlConnection(connectionString))
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT SubjectID, SubjectName FROM Students.dbo.Subjects", con);
adapter.Fill(subjects);
ddlSubject.DataSource = subjects;
ddlSubject.DataTextField = "SubjectNamne";
ddlSubject.DataValueField = "SubjectID";
ddlSubject.DataBind();
}
catch (Exception ex)
{
// Handle the error
}
}
// Add the initial item - you can add this even if the options from the
// db were not successfully loaded
ddlSubject.Items.Insert(0, new ListItem("<Select Subject>", "0"));
}
Chcete-li nastavit počáteční hodnotu pomocí značky, nikoli pomocí kódu na pozadí, zadejte možnosti a nastavte atribut AppendDataBoundItems na hodnotu true:
<asp:DropDownList ID="ddlSubject" runat="server" AppendDataBoundItems="true">
<asp:ListItem Text="<Select Subject>" Value="0" />
</asp:DropDownList>
Poté byste mohli svázat DropDownList s DataSource v pozadí kódu (nezapomeňte odstranit:
ddlSubject.Items.Insert(0, new ListItem("<Select Subject>", "0"));
z kódu na pozadí, nebo budete mít dvě položky "".