CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

求助:datalist中的radiobutton

楼主greykevin(类)2005-08-02 08:09:57 在 .NET技术 / ASP.NET 提问

一考试系统,现在随机抽题,单选题答案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,"序号")%>&nbsp;&nbsp;<%#   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?

关键词

  • 数据库
  • 选择
  • 代码
  • 用户
  • 数据
  • radiobutton
  • datalist
  • 遍历
  • 选中
  • 答案

得分解答快速导航

  • 帖主:greykevin
  • cuike519
  • aspdotnet2005
  • bingbingcha
  • xuwenzhuo
  • gxboy
  • ChengKing
  • codeangel
  • cuike519

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo