Установка 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")); is int.


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

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

или

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

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

dropdownlist1.Text="Your Value";

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


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

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;

при загрузке моей формы Windows comboBox появится


проверка безопасности, чтобы выбрать только если элемент соответствует.

//try to find item in list.  
ListItem oItem = DDL.Items.FindByValue("PassedValue"));
//if exists, select it.
if (oItem != null) oItem.Selected = true;

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