求助:datalist中的radiobutton
一考试系统,现在随机抽题,单选题答案4个用radiobutton,将这4个放入datalist中,在自动改卷计算考分时怎么判断是用户选的哪个答案?
注 :数据库中的题库表中4个答案用的是四个字段
问题点数:50、回复次数:11Top
1 楼cuike519(I will be back!)回复于 2005-08-02 08:18:00 得分 5
查找被选中的radioButton啊。
你应该是类似下面的实现:
1、将4个RadioButton放在一个table或者placeholder里面
2、在将table或者placeholder放到datalist里面
3、绑定数据
在自动改卷子的时候则需要遍历DataList里面的每一个Item来找到里面被选中的radioButton然后就可以根据选择打分了。
Top
2 楼aspdotnet2005(天中之子、为中原喝采![我想找兼职MSN:Red-Maple@hotmail.com])回复于 2005-08-02 08:33:41 得分 1
用RadioButtonList也可以实现,
1、在DataList内放一个RadioButtonList控件
2、将数据库的四个字段的值分别添加到RadioButtonList的项内。
3、遍历DataList里面的每一个Item来找到RadioButtonList被选中的项与正确答案比较。Top
3 楼bingbingcha(不思不归,不孟不E,原来是头大灰狼)回复于 2005-08-02 08:37:18 得分 2
我的做法:
将读出后绑定到RadioButton,备选答案对应相应的RadioButton..然后取出选中的RadioButton值,判断和数据库中的正确答案是否一致Top
4 楼xuwenzhuo(约定好了!我们会撑着那把油纸伞风雨同路、不分不离、吃到老玩到老。)回复于 2005-08-02 08:46:17 得分 2
同意楼上的做法!
可以在模版列方4个radiobutton,然后再提交的时候,用FindControl方法将在四个空间找出来就可以了。Top
5 楼greykevin(类)回复于 2005-08-02 18:51:58 得分 0
<asp:datalist id="DataList1" runat="server" >
<ItemTemplate>
<td><%# DataBinder.Eval(Container.DataItem,"序号")%> <%# DataBinder.Eval(Container.DataItem,"Question")%>(单选题)<input type="hidden" id="SelectedID" runat="server" value='<%# DataBinder.Eval(Container.DataItem, "id")%>' NAME="SelectedID"/>
</asp:Label>
</td>
</tr>
<tr>
<td> <asp:radiobutton id="Radiobutton1" runat="server" GroupName="q1" Text='<%# DataBinder.Eval(Container.DataItem,"Text1")%>'></asp:radiobutton></td>
</tr><tr><td>
<asp:radiobutton id="Radiobutton2" runat="server" GroupName="q1" Text='<%# DataBinder.Eval(Container.DataItem,"Text2")%>'></asp:radiobutton></td>
</tr> <tr>
<td>
<asp:radiobutton id="Radiobutton3" runat="server" GroupName="q1" Text='<%# DataBinder.Eval(Container.DataItem,"Text3")%>'></asp:radiobutton></td></tr>
<tr>
<td>
<asp:radiobutton id="Radiobutton4" runat="server" GroupName="q1" Text='<%# DataBinder.Eval(Container.DataItem,"Text4")%>'></asp:radiobutton></td>
</tr>
</ItemTemplate>
</asp:datalist>Top
6 楼greykevin(类)回复于 2005-08-02 18:52:52 得分 0
foreach(DataListItem Item in DataList1.Items)
{
RadioButton chk=(RadioButton)Item.FindControl("Radiobutton1");
string sID = ((HtmlInputHidden)Item.FindControl("SelectedID")).Value;
Response.Write("第"+sID+"题选中的是");
if(chk.Checked=true)
{
Response.Write(chk.Text);
}
}
怎么判断我选的哪个呀,怎么输入我选中的那个值呀,请帮忙Top
7 楼greykevin(类)回复于 2005-08-03 07:48:10 得分 0
dingTop
8 楼gxboy(Blin 小学生学.NET)回复于 2005-08-03 17:00:23 得分 1
帮忙看看下面的问题
http://community.csdn.net/Expert/topic/4182/4182512.xml?temp=8.160037E-02
高深,不懂。Top
9 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-08-03 17:49:57 得分 2
例如: 单选题目
在初始化题目时,从数据库中读取该题正确的选项,比如是:(B),并将四个RadioButton中,
第二个RadioButton的SelectValue = "B"; 第一/三/四个RadioButton的SelectValue值为"";
则将用户提交题目时,则直接判断,用户选择的RadioButton是否为空即可,如果不为“”,则选择正确,如果为“”,则选择错误Top
10 楼codeangel(http://www.wSoft.Net)回复于 2005-08-03 19:32:11 得分 7
查找被选中的radioButton啊。
你应该是类似下面的实现:
1、将4个RadioButton放在一个table或者placeholder里面
2、在将table或者placeholder放到datalist里面
3、绑定数据
在自动改卷子的时候则需要遍历DataList里面的每一个Item来找到里面被选中的radioButton然后就可以根据选择打分了
--------------
都说了啊,上面的这个就可以
Top
11 楼cuike519(I will be back!)回复于 2005-08-03 20:56:55 得分 30
首先你要确定你没有在Page_Load里面重新绑定数据。你的代码应该象下面这样:
private void Page_Load(object sender, System.EventArgs e) {
// Put user code to initialize the page here
if(!this.IsPostBack){
this.BindData();
}
}
上面的BindData方法为你绑定数据源到DataList的函数,这里就省略了。
其次你应该使用下面的方法来获得学生选择的答案:
private void btnCheckAnswer_Click(object sender, System.EventArgs e) {
foreach(DataListItem items in this.DataList1.Items){
foreach(Control ctl in items.Controls){
RadioButton r = ctl as RadioButton;
if(r != null && r.Checked){//获得用户选择的项
this.Label1.Text += r.Text+";";
}
}
}
}
这里Lable1将使用;为分割符显示学生的选择。
请根据上面的描述检查自己的代码是否存在问题。这里还要注意你可以使用类似上面的遍历代码来验证用户对每一道题都做了选择。Top
相关问题
- datalist中使用 RadioButton问题
- DataList中RadioButton赋初值,取值的问题,请高手帮忙:(
- datalist中的RadioButton的text属性如何从数据库中读取加载?
- 如何获取datalist中用户所选择的radiobutton,checkbox的状态啊
- 请问嵌套的在datalist里的radiobutton 怎么才能只选中一个啊
- datalist怎么获取radiobutton的checked的值
- 高分急问 有关datalist中radiobutton的问题以及框架的一点问题 ( 在线等)
- DataList??
- 请问在datalist里面如何实现radiobutton的单选?
- datalist?




