当前位置:编程学习 > C#/ASP.NET >>

怎么样获取多个 RadioButton 的 checked 状态

各位,今天做了一个有关投票的程序,有十二个问题,每个问题有五个答案,就要用到 60 个RadioButton,

现在想用 for 循环来判断选中的是哪个 ?? RadioButton 的命名是 RB11、RB12、…、RB15 、RB21、……、RB25、…………RB121、……、RB125

string RBName;
int RBPoint; 
for (int i = 1;i < 13;i++)
{
  for (int j = 1;j < 6;j++)
    {
        RBName = "RB"+ i.ToString() + j.ToString();
        if (((RadioButton)RBName).Checked)
           RBPoint = j;
    }
}
但是运行的时候出错:((RadioButton)RBName).Checked 这句报错:

无法将类型“string”转换为“System.Web.UI.WebControls.RadioButton” ,请问各位,怎么样处理 ??谢谢各位 !!
--------------------编程问答-------------------- 用 findcontrol(RBName)方法来找 --------------------编程问答-------------------- if (((RadioButton)Page.Form.FindControl(RBName)).Checked) 
--------------------编程问答-------------------- if (((RadioButton)Page.Form.FindControl(RBName)).Checked) 
--------------------编程问答-------------------- 沒碰到過,友情UP。 --------------------编程问答-------------------- string RBName; 
int RBPoint; 
for (int i = 1;i < 13;i++) 

  for (int j = 1;j < 6;j++) 
    { 
        RBName = "RB"+ i.ToString() + j.ToString(); 
        RadioButton rb =  Page.Form.FindControl(RBName);
        if(rb.checked)
         {
          RBPoint = j; 
         } 
    } 

--------------------编程问答-------------------- 谢谢各位了,按照上面几位的写法 :又有新问题 

不可访问“System.Web.UI.Page.Form”,因为它受保护级别限制


请问怎么解决 ?? --------------------编程问答-------------------- 5楼正解 --------------------编程问答-------------------- 谢谢各位了,按照上面几位的写法 :又有新问题 

不可访问“System.Web.UI.Page.Form”,因为它受保护级别限制 


请问怎么解决 ?? --------------------编程问答-------------------- 字符串当然是专不成控件的.

你要FindControl --------------------编程问答-------------------- Page.Form//这里的Form指的是你的<form id="form1" runat=server>这个form的id --------------------编程问答--------------------
string RBName; 
int RBPoint; 
for (int i = 1;i < 13;i++) 

  for (int j = 1;j < 6;j++) 
    { 
        RBName = "RB"+ i.ToString() + j.ToString(); 
        RadioButton rb=Page.FindControl(RBName);
         if(rb.checked) 
        { 
          RBPoint = j; 
        } 
 
    } 

--------------------编程问答--------------------
引用 11 楼 sunrain_yingxi 的回复:
string RBName; 
int RBPoint; 
for (int i = 1;i < 13;i++) 

  for (int j = 1;j < 6;j++) 
    { 
        RBName = "RB"+ i.ToString() + j.ToString(); 
        RadioButton rb=Page.FindControl(RBName); 
        if(rb.checked) 
        { 
          RBPoint = j; 
        } 

    } 


正解
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,