Datalist里的RadiobuttonList绑定问题

刚做了一点东西,一个考试的,我有了一点体会,表应该认真思考后建,不能想当然,比如说一个选择题的,用Datalist实现,(个人比较喜欢DataList嘿),选择项用RadioButtonList做,我刚开始是这样建表,sid sname sa sb sc sd,sabcd是选择项,然后绑定就是出问题,后来我发现建立2张表对现在提到的功能就能很好的完成
表1(问题表)
问题id(主键),问题内容,正确答案ID(从表的ID)
表2(答案表)
问题id(主键),答案id(主键),答案内容

页面中写

<ItemTemplate>
<tr>
<td><asp:label id=label1 runat=server text='<%# DataBinder.Eval(Container,"DataItem.问题id")%>' </td>-----我这个加了个label它的text内容是<%# DataBinder.Eval(Container,"DataItem.问题id")%>,我只是简单的写了下,
</tr>
<tr>
<td>
<asp:RadioButtonList ID="select" Runat="server"></asp:RadioButtonList>
<asp:ListItem>这里不能绑定数据库中值</asp:ListItem>
</td>
</tr>
</ItemTemplate>

后台绑定

还是itemdatabound事件里面写
。。。。。。
{
 Label lb = (Label)e.Item.FindControl("Lbques");
        string q = lb.Text;//得到题干

        qid = int.Parse(cn.Session("select lsid from l_ques where lsques='"+q+"'")); / /得到题干ID
        //if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
        //{
            RadioButtonList rblst = (RadioButtonList)e.Item.FindControl("Rblselect");
            //查询数据库得到数据集
            DataSet dsdetails = cn.DataSets("select laid,latext from l_ans where lsid= "+qid);//根据题干ID绑定选择项
            rblst.DataSource = dsdetails;
            rblst.DataValueField = "laid";
            rblst.DataTextField = "latext";
            rblst.DataBind();


}

posted on 2007-01-19 20:56  badyue  阅读(491)  评论(0编辑  收藏  举报

导航