我正在动态创建单选按钮组。每个组都有唯一的组名。当用户单击“提交”按钮时,我想获取每个组中选中的单选按钮的值。我使用以下代码生成:
RadioButton button = new RadioButton();
button.Text = btn.getName();
button.Checked = false;
button.GroupName = btn.getBtnGroupID();
Panel1.Controls.Add(button);
如何使用FindControl或替代方法在每个按钮组中获取选中/选中的按钮?
答案 0 :(得分:0)
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"];
}
答案 1 :(得分:0)
您可以简单地执行以下操作:
RadioButton btnTest = (RadioButton)Panel1.FindControl("radioButtonId");
if (btnTest.Checked == false) {
// do something
}
答案 2 :(得分:0)
尝试一下
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()));
}