以编程方式设置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();
myValue
variables的值需要存在于控件数据绑定的DataValueField
中指定的属性中。
更新 :如果myValue
的值不存在与下拉列表选项的值,它将默认select下拉列表中的第一个选项。
ddlData.SelectedIndex
将包含int
值要在DropDown
select特定值:
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");