本人新手,在做一个在线考试系统的考试部分,需要从数据库中读入试卷的信息,(比如选择题的数量)然后通过随机抽题,在页面上显示出同等数量的题目供考生答题。
现在的问题是:例如我们获取了数据库中的值说 需要输出30个选择题,包括题干和备选答案,现在需要动态的在页面上显示多个RadioButton控件,并且在考生完成答题后读取答案。就是这样一个过程,请问高手们要怎么实现才好?

解决方案 »

  1.   

     可以把RadioButton的name 设置为一个字符加 题序号 rb1 rb2  一个题的4个RadioButton name设置一样 同时设置组名也一样RadioButton用html控件
      

  2.   

    比如每一组题  Radio组命名的时候都用aa作为前缀,然后加上题的id作为这组RadioButton控件的组名称,最后循环一下不就可以得到每道题的选择项了,和做批量删除的复选框差不多把
      

  3.   

    动态生成RadioButton  首先要把建 一个服务器的控件容器 如panl  ID叫myPan
    在你创建RadioButton   的时候 可以  如选择循环创建可以for(int i=0;i<10;i++)
    {
    RadioButton   rb=new RadioButton   ();rb.ID="mingzi";myPan.Contorl.add(rb);]
    想取值的时候
     foreach (Control ctr in this.myPan.Controls)
     {
                    if (ctr.GetType() == typeof(RadioButton))
                    {
                        RadioButton   rb= (RadioButton)ctr;
                        if (rb.ID.LastIndexOf("mingzi") > -1)
                        {
                           if(rb.Checked)
                           {
                              //你的逻辑                       }
                            
                        }
                      }
    }
      

  4.   

    我觉的可以把读出来的题目的集合放在内存中,Session或者页面类的成员中。
    然后遍历呈现为HTML服务器端控件,并按照题目的序号分配相应的ID(如Question1,Question2)并添加相应的客户端处理程序(JavaScript)。
    然后在客户端点击时将用户的答案和题目序号整合为一个字符串,将这个字符串放在一个HiddenField控件的Value中。
    页面回发的时候读取这个HiddenField的Value。
    然后进行字符串拆分。获取用户的答案。
      

  5.   

    谢谢,我会去试一下,但是我的问题的关键是怎么获取用户输入的值啊...to :6楼的朋友,
    如果考试题量大的话估计有100-200个题,并且同时有多人考试,如果保存在Session中,服务器的负载……我再去实验下4楼朋友提供的方法。