Я хочу установить selecteditem для asp.NET droplistlist программно.
Итак, я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где значение элемента равно переданному значению.
Я хочу установить selecteditem для asp.NET droplistlist программно.
Итак, я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где значение элемента равно переданному значению.
dropdownlist.ClearSelection(); //making sure the previous selection has been cleared
dropdownlist.Items.FindByValue(value).Selected = true;
Вы можете установить SelectedValue
значение, которое вы хотите выбрать. Если вы уже выбрали элемент, вы должны очистить выделение, иначе вы получите "Невозможно удалить несколько элементов в DropDownList.
dropdownlist.ClearSelection();
dropdownlist.SelectedValue = value;
Вы также можете использовать ListItemCollection.FindByText или ListItemCollection.FindByValue
dropdownlist.ClearSelection();
dropdownlist.Items.FindByValue(value).Selected = true;
Используйте метод FindByValue для поиска коллекции для ListItem с свойством Value, которое содержит значение, указанное значением параметр. Этот метод выполняет чувствительный к регистру нечувствительность к культуре. Этот метод не делает частичного поиска или поиска подстановочных знаков. Если элемент не найден в коллекция, используя этот критерий, возвращается null, MSDN.
Если вы ожидаете, что можете искать текст/значение, которое не будет присутствовать в коллекции DropDownList
ListItem, тогда вы должны проверить, если вы получаете объект ListItem
или null
от FindByText
или FindByValue
до вы получаете доступ к выбранному свойству. Если вы попытаетесь получить доступ к выбранному при возврате null, вы получите NullReferenceException.
ListItem listItem = dropdownlist.Items.FindByValue(value);
if(listItem != null)
{
dropdownlist.ClearSelection();
listItem.Selected = true;
}
Вы можете использовать метод FindByValue для поиска DropDownList для элемента со значением, соответствующим параметру.
dropdownlist.ClearSelection();
dropdownlist.Items.FindByValue(value).Selected = true;
В качестве альтернативы вы можете использовать метод FindByText для поиска DropDownList для элемента с текстом, соответствующего этому параметру.
Прежде чем использовать метод FindByValue, не забудьте reset DropDownList, чтобы никакие элементы не были выбраны с использованием метода ClearSelection(). Он очищает выбор списка и устанавливает для свойства Selected всех элементов значение false. В противном случае вы получите следующее исключение.
"Cannot have multiple items selected in a DropDownList"
Это очень хороший и чистый пример: (посмотрите этот отличный учебник для полного объяснения ссылка)
public static IEnumerable<SelectListItem> ToSelectListItems(
this IEnumerable<Album> albums, int selectedId)
{
return
albums.OrderBy(album => album.Name)
.Select(album =>
new SelectListItem
{
Selected = (album.ID == selectedId),
Text = album.Name,
Value = album.ID.ToString()
});
}
В этой ссылке MSDN вы можете прочитать документацию по методу DropDownList
.
Надеюсь, что это поможет.
Установить свойство выпадающего списка
selected="true"