我在后台循环插入从数据库读出来的项,同时添加radiobutton单选按钮,
然后把radiobutton的选中值作为条件,查询总数据并为gridview赋值。        string sqlUnitName = "select unitcode,unitname from ZDT_PROJECTUNIT where companycode=" + Session["Code_ProjectCode"].ToString() + " order by unitcode";
        DataSet DsUnitName = DBUtility.DbHelperSQL.Query(sqlUnitName);
        string str = "";
        rab.InnerHtml = "";
        if (DsUnitName.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < DsUnitName.Tables[0].Rows.Count; i++)
            {
                if (i == 0)
                {
                    rab.InnerHtml += "<input runat='server' value='" + DsUnitName.Tables[0].Rows[i]["unitcode"].ToString() +"' type='radio' name='rbt' checked='checked'/>" + DsUnitName.Tables[0].Rows[i]["unitname"].ToString();
                }
                else
                {
                    rab.InnerHtml += "<input runat='server' value='" + DsUnitName.Tables[0].Rows[i]["unitcode"].ToString() +"' type='radio' name='rbt'/>" + DsUnitName.Tables[0].Rows[i]["unitname"].ToString();
                }
                
            }
        }
        else
        {
            rab.InnerHtml = "";
        }
如何才能获取radiobutton选中状态下的值?  求各位路过的高手帮帮忙...

解决方案 »

  1.   

    for(i=0;i<document.getElementsByName("rbt").length;i++)   
      {   
        
      if(document.getElementsByName("rbt")[i].checked)
       alert(document.getElementsByName("rbt")[i].value)   
      }   
      

  2.   

    for(i=0;i<document.getElementsByName("rbt").length;i++)   
      {   
        
      if(document.getElementsByName("rbt")[i].checked)
      alert(document.getElementsByName("rbt")[i].value)   
      }   
      

  3.   

    刚才是Js 的
    下面是CS的
    for (int i = 0; i < DsUnitName.Tables[0].Rows.Count; i++)
            {
                //客户端
                HtmlInputRadioButton chb = (HtmlInputRadioButton)this.GridView1.Rows[i].FindControl("CheckBox1");
                if (chb.Checked == true)
                {
                    s = s + chb.Value;
                }
                else
                {
                    Response.Write("<script>alert('check one?');</script>");
                }
            }
      

  4.   


    我的标签是在后台循环插入的,如果用js方法的话 就有可能获取不到他的name了。
    有没有什么方法在后台可以直接获取到他的值呢拜托各位再帮帮忙
      

  5.   


    这句话我点不出来, 我的radiobutton不在gridview里
      

  6.   

    for (int i = 0; i < DsUnitName.Tables[0].Rows.Count; i++)
            {
                foreach (System.Web.UI.Control control in this.Controls[i].Controls)
                {
                    if (control is HtmlInputRadioButton){
    if (control as HtmlInputRadioButton.Checked == true)
      {
       Response.Write((control as HtmlInputRadioButton).Value);}
     }          }
            }