Установка выпадающего списка выбрана программно

Я хочу программным образом установить атрибут selecteditem для элемента управления dropdownlist ASP.Net.

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

Ответ 1

Предполагая, что список уже привязан к данным, вы можете просто установить свойство SelectedValue в раскрывающемся списке.

list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();

list.SelectedValue = myValue.ToString();

Значение переменной myValue должно существовать в свойстве, указанном в DataValueField в привязке данных элементов управления.

UPDATE: Если значение myValue не существует как значение с опциями выпадающего списка, по умолчанию будет выбран первый параметр в раскрывающемся списке.

Ответ 2

ddlData.SelectedIndex будет содержать значение int. Чтобы выбрать конкретное значение в DropDown:

ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));

return Тип ddlData.Items.IndexOf(ddlData.Items.FindByText("value")); - int.

Ответ 3

Вот код, который я искал:

DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));

или

DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));

Ответ 4

Хорошо, если я правильно понял ваш вопрос. Решение для установки значения для данного раскрывающегося списка будет:

dropdownlist1.Text="Your Value";

Это будет работать, только если это значение существует в источнике данных выпадающего списка.

Ответ 5

Если вам нужно выбрать элемент списка на основе выражения:

foreach (ListItem listItem in list.Items)
{
    listItem.Selected = listItem.Value.Contains("some value");
}

Ответ 6

var index = ctx.Items.FirstOrDefault(item => Equals(item.Value, Settings.Default.Format_Encoding));
ctx.SelectedIndex = ctx.Items.IndexOf(index);

ИЛИ

foreach (var listItem in ctx.Items)
  listItem.Selected = Equals(listItem.Value as Encoding, Settings.Default.Format_Encoding);

Должно работать... особенно при использовании расширенных элементов управления RAD, в которых FindByText/Value даже не существует!

Ответ 7

ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;

Ответ 8

            ddlemployee.DataSource = ds.Tables[0];
            ddlemployee.DataTextField = "Employee Name";
            ddlemployee.DataValueField = "RecId";
            ddlemployee.DataBind();
            ddlemployee.Items.Insert(0, "All");