在后台已经处理好            this.DataList1.DataSource = dt;
            this.DataList1.DataBind();
在前台
asp:Label
                        ID="Label5" runat="server" Text='<%# Eval("题目") %>'></asp:Label>
这是绑定一个数据
可是我RadioButtonList要绑定四个数据asp:RadioButtonList ID="RadioButtonList2" runat="server" RepeatDirection="Horizontal" >
                    </asp:RadioButtonList><br />要如何写绑定???

解决方案 »

  1.   

     <asp:ListItem Text = '<%# Eval("A")%>'></asp:ListItem>
    错误:仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.ListItem 没有 DataBinding 事件。 
      

  2.   

    再datalist里面找到RadioButtonList2就可以绑定了
      

  3.   

    给你写个简单的
    前台<asp:datalist id="dlOption" runat="server">
                                        <ItemTemplate>
                                            <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1">
                                                <TR>
                                                    <TD>
                                                        <asp:Label id=lbAsk runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"examAsk") %>'>
                                                        </asp:Label></TD>
                                                </TR>
                                                <TR>
                                                    <TD>
                                                        <asp:RadioButtonList id=rblOption runat="server" DataSource='<%# rdlDataBind(DataBinder.Eval(Container.DataItem,"examOption").ToString()) %>'>
                                                        </asp:RadioButtonList></TD>
                                                </TR>
                                            </TABLE>
                                        </ItemTemplate>
                                    </asp:datalist>后台private void dlOption_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
            {
                if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)
                {
                    RadioButtonList rbt=(RadioButtonList)e.Item.FindControl("rblOption");
                    这里写绑定代码
                }
            }
      

  4.   

    "选项"的数据源格式是怎样的?
    把它转换成集合类型的数据再绑定RadioButtonList2
      

  5.   

    4楼的代码没有实现rdlDataBind方法,应该不能编译通过的。实际上,使用绑定表达式,你就无需再去处理DataList的ItemDataBound事件了。使用4楼的设计代码丝毫不变
    <asp:datalist id="dlOption" runat="server">
                                        <ItemTemplate>
                                            <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1">
                                                <TR>
                                                    <TD>
                                                        <asp:Label id=lbAsk runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"examAsk") %>'>
                                                        </asp:Label></TD>
                                                </TR>
                                                <TR>
                                                    <TD>
                                                        <asp:RadioButtonList id=rblOption runat="server" DataSource='<%# rdlDataBind(DataBinder.Eval(Container.DataItem,"examOption").ToString()) %>'>
                                                        </asp:RadioButtonList></TD>
                                                </TR>
                                            </TABLE>
                                        </ItemTemplate>
                                    </asp:datalist>
    然后实现rdlDataBind这个方法:protected IEnumerable rdlDataBind(string 题目)
    {
        return 读取数据库返回题目选项列表(题目);
    }这就可以了。大多数数据绑定的例子都是绑定Text之类的属性,实际上动态绑定到ForeColor、DataSource之类的属性也都是可以的,这样可以只写很少的代码,而且绑定代码很清晰也很通用(仅仅返回数据,与被绑定的控件无关),你无需到ItemDataBound之类的事件处理方法中去查找控件。
      

  6.   

    <TR>
                                                    <TD>
                                                        <asp:RadioButtonList id=rblOption runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem,"eOption").ToString() %>'>
                                                        </asp:RadioButtonList></TD>
                                                </TR>
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)
                {
                    RadioButtonList rbt=(RadioButtonList)e.Item.FindControl("rblOption");
                    string data=Convert.ToString(DataBinder.Eval(e.Item.DataItem,"eOption"));
                    DataTable dtOpt=this.radblBind(data);
                    for(int i=0;i<dtOpt.Rows.Count;i++)
                    {
                             rbt.Items.Add(it);
                    } 
    }
      

  7.   

      LZ说的是rbl要绑定四个答案``你那样写也行啊``?