为何我获得的每个选择的radio的value数据出来的居然是00000000000000000500000000 这样的字符串那?
我试过如果直接换成在一个页面运行,而不是动态生成的话,就没有问题.可能就出在动态生成后,再提交按钮再刷新数据又重建了.我的没有放在ispostback里.有知道的朋友告诉下什么原因那?
 int addint=0;
   foreach(Control c in cls.Controls)
{ if (c.HasControls())
{
GetAllCheckBox(c);
}
else
{
if (c.GetType().ToString()=="System.Web.UI.HtmlControls.HtmlInputRadioButton")
{ HtmlInputRadioButton bbt=new HtmlInputRadioButton();
bbt=(HtmlInputRadioButton)c;
if (bbt.Checked)
                             addint=addint+Convert.ToInt32(bbt.Value);
}
} }
Response.Write(addint);

解决方案 »

  1.   

    如果你想获取字符串的话,也应该用string addint呀,为什么要用int addint=0;呢?
      

  2.   

    再琢磨了下换了个地方HtmlInputRadioButton bbt=new HtmlInputRadioButton();
    bbt=(HtmlInputRadioButton)c;
    if (bbt.Checked)
    {
     addint=addint+int.Parse(bbt.Value);
     Response.Write(i);

    }
    这里的i就没有哪些很多的0000000000,不过依旧没能相加
      

  3.   

    HtmlInputRadioButton bbt=new HtmlInputRadioButton();
    bbt=(HtmlInputRadioButton)c;
    if (bbt.Checked)
    {
     addint=addint+int.Parse(bbt.Value);
     Response.Write(addint);

    }
    这里的addint就没有哪些很多的0000000000,不过依旧没能相加
      

  4.   

    终于明白了,int变量必须在class里声明,在方法里声明就出错了.~~~~