请问怎么把数据库中的值绑定到datalist中的radiobuttonList上。  <asp:DataList ID="dalBelongQ1" runat="server" DataKeyField="qa_id"  >
        <ItemTemplate>
              <asp:RadioButtonList ID="RadioButtonList1" runat="server"></asp:RadioButtonList>
        </ItemTemplate>
  </asp:DataList>不在protected void dalBelongQ1_ItemDataBound(object sender, DataListItemEventArgs e){}
这个方法中绑定。拜托各位高手帮帮忙,小妹感激不尽了!谢谢谢谢!等待中。

解决方案 »

  1.   


    <asp:RadioButtonList ID="rblTest" runat="server" DataTextField="Code" DataValueField="Id">
    </asp:RadioButtonList>
        private void rblTestBind(List<Entity> value)
        {
            rblTest.DataSource = value;
            rblTest.DataBind();
        }Entity中包含你要绑定的字段,如:Code,Id
      

  2.   

         rbt.DataSource=new DataView(dtOpt); //数据源
         rbt.DataTextField="strOpt"; //显示文本Text
         rbt.DataValueField="strLet";//文本对应的value
         rbt.DataBind(); //绑定
      

  3.   

    我试过了,这样不行。
    radiobuttonList是在dataList中的,先要找到控件吧
    RadioButtonList rbl1 = (RadioButtonList)dalBelongQ1.Items[0].FindControl("RadioButtonList1");
    rbl1.DataSource = ds1;
    rbl1.DataValueField = "QA_ID";
    rbl1.DataTextField = "QA";
    rbl1.DataBind();错误提示:datalist索引超出范围。必须为非负数且小於集合的大小。拜托各位帮帮忙。
      

  4.   

    datalist索引超出范围。必须为非负数且小於集合的大小
    DataList有数据吗、参考
      

  5.   


    rbt.DataSource=new DataView(dtOpt); //数据源
    rbt.DataTextField="strOpt"; //显示文本Text
    rbt.DataValueField="strLet";//文本对应的value
    rbt.DataBind(); //绑定正解!
      

  6.   

    你当然要在dalBelongQ1_ItemDataBound因为你要先绑定datalist啊。不然你怎RadioButtonList rbl1 = (RadioButtonList)dalBelongQ1.Items[0].FindControl("RadioButtonList1");这句会报错啊。因为你datalist里面没数据。
      

  7.   

    参考相关:
    http://www.cnblogs.com/insus/articles/2029383.html