Установка dropdownlist для selecteditem программным способом
Я хочу, чтобы selecteditem
атрибут для ASP.Net управление dropdownlist программно.
поэтому я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где элемент равен переданному значению.
10 ответов:
предполагая, что список уже привязан к данным, Вы можете просто установить
SelectedValue
свойство в выпадающем списке.list.DataSource = GetListItems(); // <-- Get your data from somewhere. list.DataValueField = "ValueProperty"; list.DataTextField = "TextProperty"; list.DataBind(); list.SelectedValue = myValue.ToString();
значение
myValue
переменная должна существовать в свойстве, указанном вDataValueField
в привязке данных элементов управления.обновление: Если значение
myValue
не существует в качестве значения с параметрами выпадающего списка он будет по умолчанию, чтобы выбрать первый вариант в выпадающем списке.
ddlData.SelectedIndex
содержитint
значение для выбора конкретного значения вDropDown
:ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
return
типаddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
иint
.
вот код, который я искала :
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));
или
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
Ну если я правильно понял ваш вопрос. Решение для установки значения для данного выпадающего списка будет:
dropdownlist1.Text="Your Value";
Это будет работать только в том случае, если значение существует в источнике данных выпадающего списка.
Если вам нужно выбрать элемент списка на основе выражения:
foreach (ListItem listItem in list.Items) { listItem.Selected = listItem.Value.Contains("some value"); }
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 даже не существует!
ddList.Items.FindByText("oldValue").Selected = false; ddList.Items.FindByText("newValue").Selected = true;