Подтвердить что ты не робот

Как установить элемент dropdownlist, выбранный в ASP.NET?

Я хочу установить selecteditem для asp.NET droplistlist программно.

Итак, я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где значение элемента равно переданному значению.

4b9b3361

Ответ 1

dropdownlist.ClearSelection(); //making sure the previous selection has been cleared
dropdownlist.Items.FindByValue(value).Selected = true;

Ответ 2

Вы можете установить 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;
}

Ответ 3

Вы можете использовать метод 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"

Ответ 4

Это очень хороший и чистый пример: (посмотрите этот отличный учебник для полного объяснения ссылка)

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.

Надеюсь, что это поможет.

Ответ 5

Установить свойство выпадающего списка

selected="true"