首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过GroupName使用FindControl获取选定的单选按钮

通过GroupName使用FindControl获取选定的单选按钮
EN

Stack Overflow用户
提问于 2019-01-23 13:29:33
回答 3查看 415关注 0票数 0

我正在动态地创建多组单选按钮。每个组都有唯一的组名。当用户单击提交按钮时,我希望获得在每个组中选择的单选按钮的值。我使用以下代码来生成:

代码语言:javascript
复制
                        RadioButton button = new RadioButton();

                        button.Text = btn.getName();
                        button.Checked = false;
                        button.GroupName = btn.getBtnGroupID();
                        Panel1.Controls.Add(button);

如何使用FindControl或alternatives在每个按钮组中获取选中/选中的按钮?

EN

回答 3

Stack Overflow用户

发布于 2019-01-23 13:48:49

代码语言:javascript
复制
public static string GetRadioButtonValue(ControlCollection ctrlColl, string groupName)
{
  var selectedRbtn= controls.OfType<RadioButton>().FirstOrDefault(rb => rb.GroupName == groupName && rb.Checked);
  return selectedRbtn== null ? string.Empty :selectedRbtn.Attributes["Value"];

}

票数 0
EN

Stack Overflow用户

发布于 2019-01-23 13:52:03

您可以简单地执行以下操作:

代码语言:javascript
复制
RadioButton btnTest = (RadioButton)Panel1.FindControl("radioButtonId");

 if (btnTest.Checked == false) { 
 // do something

}
票数 0
EN

Stack Overflow用户

发布于 2019-01-23 14:12:11

尝尝这个

代码语言:javascript
复制
    private List<RadioButton> rblist = new List<RadioButton>();
    private void GetCheckedRB(Panel pnl, string groupName)
    {
        foreach (Control ctrl in pnl.Controls)
        {
            if (ctrl is RadioButton)
            {
                RadioButton rb = (RadioButton)ctrl;                    
                if (rb.GroupName == groupName && rb.Checked)
                    rblist.Add(rb);
            }
        }
        //Put action here
        //MessageBox.Show(String.Join(", ", rblist.Select(x => x.Name).ToArray().ToString()));
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54320548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档