各位  请教一下,我用如下循环产生了一些radiobutton控件
for (i=0;i<sum;i++)
{
    for (j=0;j<4;j++)
    {
    RadioButton rb = new RadioButton();
    rb.ID = "rb_" + i + "_" + j;
    rb.Text = i + ds.Tables[0].Rows[i][j].ToString() + "<br>";
    rb.GroupName = "radiobutton"+i;
    Panel1.Controls.Add(rb);
    }
}
然后看下下面的代码   居然输出来一个radiobutton控件不存在   
foreach (Control ctl in Panel1.Controls)
        {
            if (ctl is RadioButton)
                Response.Write("radiobutton控件");
            else
                Response.Write("radiobutton控件不存在");
        }
可是为什么会不存在呢?请指点一下   然后要再怎么获取rb的value????

解决方案 »

  1.   

    asp.net 后台自动生成的控件能输出到页面上,但再postback回来服务端可就没有了哦需要在viewstate里保持一些信息,postback回来重新生成。
      

  2.   

    你确定你的Panel1里没有别的控件?如果有 你这个循环检查本身写的就有问题if (ctl is RadioButton)
    {
      (ctl as RadioButton).你要的属性
    }
      

  3.   


    能具体点吗?在viewstate里保持些什么信息??
      

  4.   

    试了下第一个出“不存在radiobutton”控件的原因是。。第一个循环出来的控件是System.Web.UI.LiteralControl类型的得值?你都有ID了。。还得不到值啊。。