获取所有DropDown列表的选定选项

我试图在我的页面上获取所有下拉列表,并在每个下拉列表中选择所选项目文本/值。 但我似乎错过了一些东西。

foreach (DropDownList dr in this.Page.Form.Controls.OfType()) { foreach (ListItem li in dr.Items) { if (li.Selected) { //put the selected items value/text into something. } } } 

有没有想过这样做?

编辑:使其更清晰。 我有一个随机数量的DropDownLists,我可以选择1个选项pr Dropdownlist。 当我按下按钮时,我需要从每个DropDownLists中选择的内容中获取信息。 (DropDownLists上没有ID,有一个随机数)。

 protected void Button1_Click(object sender, EventArgs e) { List lst = new List(); GetDropDownControls(GetListOfControlCollection(this.Form.Controls), ref lst); foreach (DropDownList item in lst) { var selectedValue = item.SelectedValue; //to do something with value } } void GetDropDownControls(List controls, ref List lst) { foreach (Control item in controls) { if (item.Controls.Count == 0 && item is DropDownList) lst.Add((DropDownList)item); else if (item.Controls.Count > 0) GetDropDownControls(GetListOfControlCollection(item.Controls), ref lst); } } List GetListOfControlCollection(ControlCollection controls) { List result = new List(); foreach (Control item in controls) { result.Add(item); } return result; }