加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 获取所有DropDown列表的选定选项

发布时间:2020-12-15 07:52:59 所属栏目:百科 来源:网络整理
导读:参见英文答案 How can I get the selected item of a dropdownlist,the first time my page loads?4个 我试图在我的页面上获取所有下拉列表,并在每个下拉列表中选择所选项目文本/值.但我似乎错过了一些东西. foreach (DropDownList dr in this.Page.Form.Con
参见英文答案 > How can I get the selected item of a dropdownlist,the first time my page loads?4个
我试图在我的页面上获取所有下拉列表,并在每个下拉列表中选择所选项目文本/值.但我似乎错过了一些东西.
foreach (DropDownList dr in this.Page.Form.Controls.OfType<DropDownList>()) {
    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<DropDownList> lst = new List<DropDownList>();
        GetDropDownControls(GetListOfControlCollection(this.Form.Controls),ref lst);

        foreach (DropDownList item in lst)
        {
            var selectedValue = item.SelectedValue;
            //to do something with value
        }

    }

        void GetDropDownControls(List<Control> controls,ref List<DropDownList> 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<Control> GetListOfControlCollection(ControlCollection controls)
    {
        List<Control> result = new List<Control>();
        foreach (Control item in controls)
        {
            result.Add(item);
        }
        return result;
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读