以编程方式设置dropdownlist selecteditem

我想以编程方式为ASP.Net下拉列表控件设置selecteditem属性。

所以我想传递一个值到dropdownlist控件来设置项目等于传递值的选定项目。

假设列表已经被数据绑定了,你可以简单地在你的下拉列表中设置SelectedValue属性。

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

myValuevariables的值需要存在于控件数据绑定的DataValueField中指定的属性中。

更新 :如果myValue的值不存在与下拉列表选项的值,它将默认select下拉列表中的第一个选项。

ddlData.SelectedIndex将包含int值要在DropDownselect特定值:

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

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")); 

那么如果我正确理解你的问题。 为给定的下拉列表设置值的解决scheme是:

 dropdownlist1.Text="Your Value"; 

这只有在下拉列表的数据源中存在该值时才有效。

如果您需要根据expression式select列表项目:

 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 /价值甚至不存在!

 ddList.Items.FindByText("oldValue").Selected = false; ddList.Items.FindByText("newValue").Selected = true; 
  ddlemployee.DataSource = ds.Tables[0]; ddlemployee.DataTextField = "Employee Name"; ddlemployee.DataValueField = "RecId"; ddlemployee.DataBind(); ddlemployee.Items.Insert(0, "All");