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();
}