Я использую сущность Framework для подключения к базе данных и получения некоторой информации из таблицы. Мне нужно показать эту информацию в выпадающем списке. Мне нужно установить каждый список. Значение элемента равно идентификатору, который устанавливается в базе данных.
public void EducationDropDownListViewer()
{
EducationDropdown.Items.Add(new ListItem { Text = "--select--", Value = "0" });
List<Education> educations = ModelLists.GetEducationList();
for (int i = 0; i < educations.Count; i++)
{
ListItem educationListItem = new ListItem();
Education education = educations[i];
educationListItem.Text = education.EducationName;
educationListItem.Value = education.Id.ToString(CultureInfo.InvariantCulture);
EducationDropdown.Items.Add(educationListItem);
}
}
Я ожидаю, что наборы идентификаторов соответствуют каждой строке Id из базы данных, но она будет последовательно запускаться на 1. Как я могу установить это свойство для корректировки значения? Мне нужно использовать это значение, которое выбирает через этот код, чтобы делать некоторые обновления в таблицах базы данных.
protected void EducationDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
ViewState["educationid"] = Convert.ToInt32(EducationDropdown.SelectedIndex);
}
Свойство SelectedIndex
возвращает прогрессивный указатель текущего элемента select во всём DropDownList.
Вы ищете свойство SelectedValue
которое возвращает Value
SelectedItem
protected void EducationDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
// If you accept also the item at index zero (the prompt to select) then change
// the test below to >=
if(EducationDropDown.SelectedIndex > 0)
ViewState["educationid"] = Convert.ToInt32(EducationDropdown.SelectedValue);
}