ASP.Net c# Which radio button in a given GroupName is selected?

隐身守侯 提交于 2019-12-22 03:37:07

问题


I have 30 individual RadioButtons. I can not use a RadioButtonList. There are 3 groups of buttons. Each group has a unique GroupName. Everything works properly in the web browser. How can i tell on a post back which button is selected within each of the given GroupsNames?

EDIT: the function i used

private string getRadioValue(ControlCollection clts, string groupName)
{
    string ret = "";
    foreach (Control ctl in clts)
    {
        if (ctl.Controls.Count != 0)
        {
            if (ret == "")
                ret = getRadioValue(ctl.Controls, groupName);
        }

        if (ctl.ToString() == "System.Web.UI.WebControls.RadioButton")
        {
            RadioButton rb = (RadioButton)ctl;
            if (rb.GroupName == groupName && rb.Checked == true)
                ret = rb.Attributes["Value"];
        }
    }
    return ret;
}

回答1:


You have to check all radiobuttons checked property.
There is no simple way to check it by groupName. (you can write method that scan all radiobuttons in some control container and return list of pairs groupName, control checked, but easier is to scan all rb)




回答2:


Attach the same handler to each RadioButton. Then check the properties you are looking for. Set Enable postback to true.

protected void RadioButton1_30_CheckedChanged(object sender, EventArgs e)
{
    RadioButton rb = (RadioButton)sender;        
    string txtVal = rb.Text;
    string groupName= rb.GroupName;
    int tmpInt;
    Int32.TryParse(txtVal, out tmpInt);

}



回答3:


You can use Request.Form("groupName")



来源:https://stackoverflow.com/questions/4372092/asp-net-c-sharp-which-radio-button-in-a-given-groupname-is-selected

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!