Пример #1
0
    protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
    {
        BreakingPointRadio bpr = new BreakingPointRadio();

        bpr = BreakingPointManager.LoadBreakingPointRadio(Session["stuId"].ToString());
        BreakingPointJudge bpj = new BreakingPointJudge();

        bpj = BreakingPointManager.LoadBreakingPointJudge(Session["stuId"].ToString());
        BreakingPointBlank bpb = new BreakingPointBlank();

        bpb = BreakingPointManager.LoadBreakingPointBlank(Session["stuId"].ToString());
        BreakingPointDesign bpd = new BreakingPointDesign();

        bpd = BreakingPointManager.LoadBreakingPointDesign(Session["stuId"].ToString());
        string learningLevel1 = bpr.learningLevel;

        if (learningLevel1 == "low")
        {
            Response.Redirect("TestLow.aspx?caid=1");
        }
        else if (learningLevel1 == "mid")
        {
            Response.Redirect("TestMid.aspx?caid=1");
        }
        else if (learningLevel1 == "high")
        {
            Response.Redirect("TestHigh.aspx?caid=1");
        }
        else
        {
            //Response.Redirect("StudentDefault.aspx");
            MsgBox("没有断点记录!", "StudentDefault.aspx");
        }
    }
Пример #2
0
    public static BreakingPointBlank LoadBreakingPointBlank(string stuId)
    {
        if (BreakingPointManager.StudentRegistCheck("BreakingPointBlank", stuId) == false)
        {
            BreakingPointBlank bp = new BreakingPointBlank();
            return(bp);
        }
        else
        {
            SQLHelper          dbAccess = new SQLHelper();
            string             sql      = "select * from [BreakingPointBlank] where stuId='" + stuId + "' order by createTime desc";
            DataSet            ds       = dbAccess.doExcuteForDataset(sql, null, CommandType.Text); //利用SQLHelper类的doExcuteForDataset方法查询指定表的数据
            BreakingPointBlank bp       = new BreakingPointBlank();
            bp.stuId         = ds.Tables[0].Rows[0].ItemArray[0].ToString();
            bp.learningLevel = ds.Tables[0].Rows[0].ItemArray[1].ToString();
            bp.createTime    = DateTime.Parse(ds.Tables[0].Rows[0].ItemArray[2].ToString());
            bp.b1            = int.Parse(ds.Tables[0].Rows[0].ItemArray[3].ToString());
            bp.ba1           = ds.Tables[0].Rows[0].ItemArray[4].ToString();
            bp.b2            = int.Parse(ds.Tables[0].Rows[0].ItemArray[5].ToString());
            bp.ba2           = ds.Tables[0].Rows[0].ItemArray[6].ToString();
            bp.b3            = int.Parse(ds.Tables[0].Rows[0].ItemArray[7].ToString());
            bp.ba3           = ds.Tables[0].Rows[0].ItemArray[8].ToString();

            return(bp);
        }
    }
Пример #3
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string   stuId      = Session["stuId"].ToString();
        DateTime createTime = DateTime.Now;
        int      rr1        = r1.Id;
        string   ra1        = rdolistS1.SelectedValue;

        int    rr2 = r2.Id;
        string ra2 = rdolistS2.SelectedValue;

        int    rr3 = r3.Id;
        string ra3 = rdolistS3.SelectedValue;

        int    rr4 = r4.Id;
        string ra4 = rdolistS4.SelectedValue;

        int    rr5 = r5.Id;
        string ra5 = rdolistS5.SelectedValue;

        int    jj1 = j1.Id;
        string ja1 = rdolistJ1.SelectedValue;

        int    jj2 = j2.Id;
        string ja2 = rdolistJ2.SelectedValue;

        int    jj3 = j3.Id;
        string ja3 = rdolistJ3.SelectedValue;

        int    jj4 = j4.Id;
        string ja4 = rdolistJ4.SelectedValue;

        int    bb1 = b1.Id;
        string ba1 = txtB11.Text;

        int    bb2 = b2.Id;
        string ba2 = txtB21.Text;

        int    bb3 = b3.Id;
        string ba3 = txtB31.Text;

        int dd1 = d1.Id;

        BreakingPointRadio  breakingPointRadio  = new BreakingPointRadio(stuId, learningLevel, createTime, rr1, ra1, rr2, ra2, rr3, ra3, rr4, ra4, rr5, ra5);
        BreakingPointJudge  breakingPointJudge  = new BreakingPointJudge(stuId, learningLevel, createTime, jj1, ja1, jj2, ja2, jj3, ja3, jj4, ja4);
        BreakingPointBlank  breakingPointBlank  = new BreakingPointBlank(stuId, learningLevel, createTime, bb1, ba1, bb2, ba2, bb3, ba3);
        BreakingPointDesign breakingPointDesign = new BreakingPointDesign(stuId, learningLevel, createTime, dd1);

        int a = BreakingPointManager.AddBreakingPointRadio(breakingPointRadio);
        int b = BreakingPointManager.AddBreakingPointJudge(breakingPointJudge);
        int c = BreakingPointManager.AddBreakingPointBlank(breakingPointBlank);
        int d = BreakingPointManager.AddBreakingPointDesign(breakingPointDesign);

        //Response.Write("<script type = 'text/javascript'> alert('断点保存成功!'); </script>");
        RegisterClientScriptBlock("", "<script>alert('断点保存成功!')</script>");
        // MsgBox("断点保存成功!", "StudentDefault.aspx");
    }
Пример #4
0
    public static int AddBreakingPointBlank(BreakingPointBlank ABreakingPoint)
    {
        SQLHelper dbAccess = new SQLHelper();           //实例化一个SQLHelp类
        string    sql      = "Insert Into [BreakingPointBlank] Values("
                             + "'" + ABreakingPoint.stuId + "',"
                             + "'" + ABreakingPoint.learningLevel + "',"
                             + "'" + ABreakingPoint.createTime + "',"
                             + ABreakingPoint.b1 + ","
                             + "'" + ABreakingPoint.ba1 + "',"
                             + ABreakingPoint.b2 + ","
                             + "'" + ABreakingPoint.ba2 + "',"
                             + ABreakingPoint.b3 + ","
                             + "'" + ABreakingPoint.ba3 + "')";

        return(dbAccess.doSql(sql));     //利用SQLHelp类的doSql方法增加用户
    }
Пример #5
0
 //显示填空题的断点自填内容
 public static void ShowBlankBreakingpoint(BreakingPointBlank bp, TextBox txt1, TextBox txt2, TextBox txt3)
 {
     txt1.Text = bp.ba1;
     txt2.Text = bp.ba2;
     txt3.Text = bp.ba3;
 }
Пример #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (Session["stuId"] != null)
         {
             int    score1 = 0;
             int    score2 = 0;
             string stuId  = Session["stuId"].ToString();
             stuNews1 = ClassUnitManager.GetStudyingInform(stuId);
             score1   = stuNews1.pretest; //获取前测分数
             score2   = stuNews1.low;     //获取初级测试分数
             //不是第一次做题,读取断点
             if (int.Parse(Request.QueryString["caid"].ToString().Trim()) == 1)
             {
                 BreakingPointRadio bpr = new BreakingPointRadio();
                 bpr   = BreakingPointManager.LoadBreakingPointRadio(Session["stuId"].ToString());
                 rLow1 = TestLowManager.GetLowRadio(bpr.r1);                   //读取用户单选题断点记录
                 TestLowManager.ShowQuestionRadioLow(rLow1, rdolistS1, lblS1); //显示单选题题目
                 rLow2 = TestLowManager.GetLowRadio(bpr.r2);
                 TestLowManager.ShowQuestionRadioLow(rLow2, rdolistS2, lblS2);
                 rLow3 = TestLowManager.GetLowRadio(bpr.r3);
                 TestLowManager.ShowQuestionRadioLow(rLow3, rdolistS3, lblS3);
                 rLow4 = TestLowManager.GetLowRadio(bpr.r4);
                 TestLowManager.ShowQuestionRadioLow(rLow4, rdolistS4, lblS4);
                 rLow5 = TestLowManager.GetLowRadio(bpr.r5);
                 TestLowManager.ShowQuestionRadioLow(rLow5, rdolistS5, lblS5);
                 BreakingPointJudge bpj = new BreakingPointJudge();
                 bpj   = BreakingPointManager.LoadBreakingPointJudge(Session["stuId"].ToString());
                 jLow1 = TestLowManager.GetLowJudge(bpj.j1);                   //读取用户判断题断点记录
                 TestLowManager.ShowQuestionJudgeLow(jLow1, rdolistJ1, lblJ1); //显示判断题题目
                 jLow2 = TestLowManager.GetLowJudge(bpj.j2);
                 TestLowManager.ShowQuestionJudgeLow(jLow2, rdolistJ2, lblJ2);
                 jLow3 = TestLowManager.GetLowJudge(bpj.j3);
                 TestLowManager.ShowQuestionJudgeLow(jLow3, rdolistJ3, lblJ3);
                 jLow4 = TestLowManager.GetLowJudge(bpj.j4);
                 TestLowManager.ShowQuestionJudgeLow(jLow4, rdolistJ4, lblJ4);
                 BreakingPointBlank bpb = new BreakingPointBlank();
                 bpb   = BreakingPointManager.LoadBreakingPointBlank(Session["stuId"].ToString());
                 bLow1 = TestLowManager.GetLowBlank(bpb.b1);                //读取用户填空题断点记录
                 TestLowManager.ShowQuestionBlankLow(bLow1, lblB1, lblB12); //显示填空题题目
                 bLow2 = TestLowManager.GetLowBlank(bpb.b2);
                 TestLowManager.ShowQuestionBlankLow(bLow2, lblB2, lblB22);
                 bLow3 = TestLowManager.GetLowBlank(bpb.b3);
                 TestLowManager.ShowQuestionBlankLow(bLow3, lblB3, lblB32);
                 BreakingPointDesign bpd = new BreakingPointDesign();
                 bpd   = BreakingPointManager.LoadBreakingPointDesign(Session["stuId"].ToString());
                 dLow1 = TestLowManager.GetLowDesign(bpd.d1);                                                          //读取用户设计题断点记录
                 TestLowManager.ShowQuestionDesignLow(dLow1, lblD1, lblD1S1, lblD1S2, rdolistD1S1, rdolistD1S2);       //显示填空题题目
                 TestLowManager.ShowRadioLowBreakingpoint(bpr, rdolistS1, rdolistS2, rdolistS3, rdolistS4, rdolistS5); //显示单选题的断点自选选项
                 TestLowManager.ShowJudgeLowBreakingpoint(bpj, rdolistJ1, rdolistJ2, rdolistJ3, rdolistJ4);            //显示判断题的断点自选选项
                 TestLowManager.ShowBlankLowBreakingpoint(bpb, txtB11, txtB21, txtB31);                                //显示填空题的断点自选选项
             }
             //第一次做题
             else if (int.Parse(Request.QueryString["caid"].ToString().Trim()) == 0)
             {
                 //判断前测分数是否到60分
                 if (score1 >= 60)
                 {
                     //随机出题(加入错题的权重,原先的题号不变,多余的错题作为普通题目放到最后进行随机)
                     long   tick  = DateTime.Now.Ticks;
                     Random ran   = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
                     int    iDown = 1;
                     int    iUp   = TestLowManager.CountRadioLow();
                     int[]  rr    = new int[iUp + 1];
                     for (int mn = 1; mn <= TestLowManager.CountRadioLow(); mn++)
                     {
                         rr[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Low", "WrongRadio");
                         iUp    = iUp + rr[mn];
                     }
                     int[] n = new int[5];
                     while (true)
                     {
                         int i;
                         n[0] = ran.Next(iDown, iUp);
                         n[1] = ran.Next(iDown, iUp);
                         n[2] = ran.Next(iDown, iUp);
                         n[3] = ran.Next(iDown, iUp);
                         n[4] = ran.Next(iDown, iUp);
                         //对随机选出的5个数重映射题号
                         for (i = 0; i <= 4; i++)
                         {
                             if (n[i] > TestLowManager.CountRadioLow())
                             {
                                 int temp;
                                 temp = n[i] - TestLowManager.CountRadioLow();
                                 int p;
                                 for (p = 1; p <= TestLowManager.CountRadioLow(); p++)
                                 {
                                     temp = temp - rr[p];
                                     if (temp <= 0)
                                     {
                                         break;
                                     }
                                 }
                                 n[i] = p;
                             }
                         }
                         //题目不重复
                         if (n[0] != n[1] && n[0] != n[2] && n[0] != n[3] && n[0] != n[4] && n[1] != n[2] && n[1] != n[3] && n[1] != n[4] && n[2] != n[3] && n[2] != n[4] && n[3] != n[4])
                         {
                             i = 4;
                         }
                         if (i == 4)
                         {
                             break;
                         }
                     }
                     rLow1 = TestLowManager.GetLowRadio(n[0]);                     //获取判断题题目
                     TestLowManager.ShowQuestionRadioLow(rLow1, rdolistS1, lblS1); //显示判断题题目
                     rLow2 = TestLowManager.GetLowRadio(n[1]);
                     TestLowManager.ShowQuestionRadioLow(rLow2, rdolistS2, lblS2);
                     rLow3 = TestLowManager.GetLowRadio(n[2]);
                     TestLowManager.ShowQuestionRadioLow(rLow3, rdolistS3, lblS3);
                     rLow4 = TestLowManager.GetLowRadio(n[3]);
                     TestLowManager.ShowQuestionRadioLow(rLow4, rdolistS4, lblS4);
                     rLow5 = TestLowManager.GetLowRadio(n[4]);
                     TestLowManager.ShowQuestionRadioLow(rLow5, rdolistS5, lblS5);
                     //随机出题
                     int   iUp1 = TestLowManager.CountJudgeLow();
                     int[] jj   = new int[iUp1 + 1];
                     for (int mn = 1; mn <= TestLowManager.CountJudgeLow(); mn++)
                     {
                         jj[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Low", "WrongJudge");
                         iUp1   = iUp1 + jj[mn];
                     }
                     int[] j = new int[4];
                     while (true)
                     {
                         int i;
                         j[0] = ran.Next(iDown, iUp1);
                         j[1] = ran.Next(iDown, iUp1);
                         j[2] = ran.Next(iDown, iUp1);
                         j[3] = ran.Next(iDown, iUp1);
                         //对随机选出的4个数重映射题号
                         for (i = 0; i <= 3; i++)
                         {
                             if (j[i] > TestLowManager.CountJudgeLow())
                             {
                                 int temp;
                                 temp = j[i] - TestLowManager.CountJudgeLow();
                                 int p;
                                 for (p = 1; p <= TestLowManager.CountJudgeLow(); p++)
                                 {
                                     temp = temp - jj[p];
                                     if (temp <= 0)
                                     {
                                         break;
                                     }
                                 }
                                 j[i] = p;
                             }
                         }
                         if (j[0] != j[1] && j[0] != j[2] && j[0] != j[3] && j[1] != j[2] && j[1] != j[3] && j[2] != j[3])
                         {
                             i = 3;
                         }
                         if (i == 3)
                         {
                             break;
                         }
                     }
                     jLow1 = TestLowManager.GetLowJudge(j[0]);
                     TestLowManager.ShowQuestionJudgeLow(jLow1, rdolistJ1, lblJ1);
                     jLow2 = TestLowManager.GetLowJudge(j[1]);
                     TestLowManager.ShowQuestionJudgeLow(jLow2, rdolistJ2, lblJ2);
                     jLow3 = TestLowManager.GetLowJudge(j[2]);
                     TestLowManager.ShowQuestionJudgeLow(jLow3, rdolistJ3, lblJ3);
                     jLow4 = TestLowManager.GetLowJudge(j[3]);
                     TestLowManager.ShowQuestionJudgeLow(jLow4, rdolistJ4, lblJ4);
                     //随机出题
                     int   iUp2 = TestLowManager.CountBlankLow();
                     int[] kk   = new int[iUp2 + 1];
                     for (int mn = 1; mn <= TestLowManager.CountBlankLow(); mn++)
                     {
                         kk[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Low", "WrongBlank");
                         iUp2   = iUp2 + kk[mn];
                     }
                     int[] k = new int[3];
                     while (true)
                     {
                         int i;
                         k[0] = ran.Next(iDown, iUp2);
                         k[1] = ran.Next(iDown, iUp2);
                         k[2] = ran.Next(iDown, iUp2);
                         //对随机选出的3个数重映射题号
                         for (i = 0; i <= 2; i++)
                         {
                             if (k[i] > TestLowManager.CountBlankLow())
                             {
                                 int temp;
                                 temp = k[i] - TestLowManager.CountBlankLow();
                                 int p;
                                 for (p = 1; p <= TestLowManager.CountBlankLow(); p++)
                                 {
                                     temp = temp - kk[p];
                                     if (temp <= 0)
                                     {
                                         break;
                                     }
                                 }
                                 k[i] = p;
                             }
                         }
                         if (k[0] != k[1] && k[0] != k[2] && k[1] != k[2])
                         {
                             i = 2;
                         }
                         if (i == 2)
                         {
                             break;
                         }
                     }
                     bLow1 = TestLowManager.GetLowBlank(k[0]);
                     TestLowManager.ShowQuestionBlankLow(bLow1, lblB1, lblB12);
                     bLow2 = TestLowManager.GetLowBlank(k[1]);
                     TestLowManager.ShowQuestionBlankLow(bLow2, lblB2, lblB22);
                     bLow3 = TestLowManager.GetLowBlank(k[2]);
                     TestLowManager.ShowQuestionBlankLow(bLow3, lblB3, lblB32);
                     //随机出题
                     int   iUp3 = TestLowManager.CountDesignlow();
                     int[] m    = new int[2];
                     m[0]  = ran.Next(iDown, iUp3);
                     dLow1 = TestLowManager.GetLowDesign(m[0]);
                     TestLowManager.ShowQuestionDesignLow(dLow1, lblD1, lblD1S1, lblD1S2, rdolistD1S1, rdolistD1S2);
                 }
                 else
                 {
                     lblTitle.Visible    = false;
                     PanelAll.Visible    = false;
                     PanelDesign.Visible = false;
                     btnSubmit.Visible   = false;
                     btnOk.Visible       = false;
                     btnSave.Visible     = false;
                     //Response.Write("<script type = 'text/javascript'> alert('你未通过前测,不能进行该等级测试!'); </script>");
                     RegisterClientScriptBlock("", "<script>alert('你未通过前测,不能进行初级测试!')</script>");
                 }
             }
         }
         else
         {
             Response.Redirect("Login.aspx");
         }
     }
 }
Пример #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)    //防止点保存后,页面再一次刷新,和验证码一样
        {
            if (Session["stuId"] != null)
            {
                int    score1 = 0;
                int    score2 = 0;
                int    score3 = 0;
                string stuId  = Session["stuId"].ToString();

                stuNews1 = ClassUnitManager.GetStudyingInform(stuId);
                score1   = stuNews1.pretest;
                score2   = stuNews1.low;
                score3   = stuNews1.mid;
                if (int.Parse(Request.QueryString["caid"].ToString().Trim()) == 1) //不是第一次做题,读取断点
                {
                    BreakingPointRadio bpr = new BreakingPointRadio();
                    bpr = BreakingPointManager.LoadBreakingPointRadio(Session["stuId"].ToString());

                    r1 = TestMidManager.GetRadio(bpr.r1);
                    TestMidManager.ShowQuestionRadio(r1, rdolistS1, lblS1);
                    r2 = TestMidManager.GetRadio(bpr.r2);
                    TestMidManager.ShowQuestionRadio(r2, rdolistS2, lblS2);
                    r3 = TestMidManager.GetRadio(bpr.r3);
                    TestMidManager.ShowQuestionRadio(r3, rdolistS3, lblS3);
                    r4 = TestMidManager.GetRadio(bpr.r4);
                    TestMidManager.ShowQuestionRadio(r4, rdolistS4, lblS4);
                    r5 = TestMidManager.GetRadio(bpr.r5);
                    TestMidManager.ShowQuestionRadio(r5, rdolistS5, lblS5);

                    BreakingPointJudge bpj = new BreakingPointJudge();
                    bpj = BreakingPointManager.LoadBreakingPointJudge(Session["stuId"].ToString());

                    j1 = TestMidManager.GetJudge(bpj.j1);
                    TestMidManager.ShowQuestionJudge(j1, rdolistJ1, lblJ1);
                    j2 = TestMidManager.GetJudge(bpj.j2);
                    TestMidManager.ShowQuestionJudge(j2, rdolistJ2, lblJ2);
                    j3 = TestMidManager.GetJudge(bpj.j3);
                    TestMidManager.ShowQuestionJudge(j3, rdolistJ3, lblJ3);
                    j4 = TestMidManager.GetJudge(bpj.j4);
                    TestMidManager.ShowQuestionJudge(j4, rdolistJ4, lblJ4);

                    BreakingPointBlank bpb = new BreakingPointBlank();
                    bpb = BreakingPointManager.LoadBreakingPointBlank(Session["stuId"].ToString());

                    b1 = TestMidManager.GetBlank(bpb.b1);
                    TestMidManager.ShowQuestionBlank(b1, lblB1, lblB12);
                    b2 = TestMidManager.GetBlank(bpb.b2);
                    TestMidManager.ShowQuestionBlank(b2, lblB2, lblB22);
                    b3 = TestMidManager.GetBlank(bpb.b3);
                    TestMidManager.ShowQuestionBlank(b3, lblB3, lblB32);

                    BreakingPointDesign bpd = new BreakingPointDesign();
                    bpd = BreakingPointManager.LoadBreakingPointDesign(Session["stuId"].ToString());

                    d1 = TestMidManager.GetDesign(bpd.d1);
                    TestMidManager.ShowQuestionDesign(d1, lblD1, lblD1S1, lblD1S2, rdolistD1S1, rdolistD1S2);

                    TestMidManager.ShowRadioBreakingpoint(bpr, rdolistS1, rdolistS2, rdolistS3, rdolistS4, rdolistS5);
                    TestMidManager.ShowJudgeBreakingpoint(bpj, rdolistJ1, rdolistJ2, rdolistJ3, rdolistJ4);
                    TestMidManager.ShowBlankBreakingpoint(bpb, txtB11, txtB21, txtB31);
                }
                else if (int.Parse(Request.QueryString["caid"].ToString().Trim()) == 0)
                {
                    if (score1 >= 75 || score2 >= 60)
                    {
                        //随机出题(加入错题的权重,原先的题号不变,多余的错题作为普通题目放到最后进行随机)

                        long   tick  = DateTime.Now.Ticks;
                        Random ran   = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
                        int    iDown = 1;
                        int    iUp   = TestMidManager.CountRadio();
                        int[]  rr    = new int[iUp + 1];
                        for (int mn = 1; mn <= TestMidManager.CountRadio(); mn++)
                        {
                            rr[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Mid", "WrongRadio");
                            iUp    = iUp + rr[mn];
                        }

                        int[] n = new int[5];

                        while (true)
                        {
                            int i;
                            n[0] = ran.Next(iDown, iUp);
                            n[1] = ran.Next(iDown, iUp);
                            n[2] = ran.Next(iDown, iUp);
                            n[3] = ran.Next(iDown, iUp);
                            n[4] = ran.Next(iDown, iUp);

                            //对随机选出的5个数重映射题号
                            for (i = 0; i <= 4; i++)
                            {
                                if (n[i] > TestMidManager.CountRadio())
                                {
                                    int temp;
                                    temp = n[i] - TestMidManager.CountRadio();
                                    int p;
                                    for (p = 1; p <= TestMidManager.CountRadio(); p++)
                                    {
                                        temp = temp - rr[p];
                                        if (temp <= 0)
                                        {
                                            break;
                                        }
                                    }
                                    n[i] = p;
                                }
                            }

                            if (n[0] != n[1] && n[0] != n[2] && n[0] != n[3] && n[0] != n[4] && n[1] != n[2] && n[1] != n[3] && n[1] != n[4] && n[2] != n[3] && n[2] != n[4] && n[3] != n[4])
                            {
                                i = 4;
                            }
                            if (i == 4)
                            {
                                break;
                            }
                        }
                        r1 = TestMidManager.GetRadio(n[0]);
                        TestMidManager.ShowQuestionRadio(r1, rdolistS1, lblS1);
                        r2 = TestMidManager.GetRadio(n[1]);
                        TestMidManager.ShowQuestionRadio(r2, rdolistS2, lblS2);
                        r3 = TestMidManager.GetRadio(n[2]);
                        TestMidManager.ShowQuestionRadio(r3, rdolistS3, lblS3);
                        r4 = TestMidManager.GetRadio(n[3]);
                        TestMidManager.ShowQuestionRadio(r4, rdolistS4, lblS4);
                        r5 = TestMidManager.GetRadio(n[4]);
                        TestMidManager.ShowQuestionRadio(r5, rdolistS5, lblS5);



                        //随机出题
                        int   iUp1 = TestMidManager.CountJudge();
                        int[] jj   = new int[iUp1 + 1];
                        for (int mn = 1; mn <= TestHighManager.CountJudge(); mn++)
                        {
                            jj[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Mid", "WrongJudge");
                            iUp1   = iUp1 + jj[mn];
                        }
                        int[] j = new int[4];
                        while (true)
                        {
                            int i;
                            j[0] = ran.Next(iDown, iUp1);
                            j[1] = ran.Next(iDown, iUp1);
                            j[2] = ran.Next(iDown, iUp1);
                            j[3] = ran.Next(iDown, iUp1);
                            //对随机选出的4个数重映射题号
                            for (i = 0; i <= 3; i++)
                            {
                                if (j[i] > TestMidManager.CountJudge())
                                {
                                    int temp;
                                    temp = j[i] - TestMidManager.CountJudge();
                                    int p;
                                    for (p = 1; p <= TestMidManager.CountJudge(); p++)
                                    {
                                        temp = temp - jj[p];
                                        if (temp <= 0)
                                        {
                                            break;
                                        }
                                    }
                                    j[i] = p;
                                }
                            }

                            if (j[0] != j[1] && j[0] != j[2] && j[0] != j[3] && j[1] != j[2] && j[1] != j[3] && j[2] != j[3])
                            {
                                i = 3;
                            }
                            if (i == 3)
                            {
                                break;
                            }
                        }

                        j1 = TestMidManager.GetJudge(j[0]);
                        TestMidManager.ShowQuestionJudge(j1, rdolistJ1, lblJ1);
                        j2 = TestMidManager.GetJudge(j[1]);
                        TestMidManager.ShowQuestionJudge(j2, rdolistJ2, lblJ2);
                        j3 = TestMidManager.GetJudge(j[2]);
                        TestMidManager.ShowQuestionJudge(j3, rdolistJ3, lblJ3);
                        j4 = TestMidManager.GetJudge(j[3]);
                        TestMidManager.ShowQuestionJudge(j4, rdolistJ4, lblJ4);


                        //随机出题
                        int   iUp2 = TestMidManager.CountBlank();
                        int[] kk   = new int[iUp2 + 1];
                        for (int mn = 1; mn <= TestMidManager.CountBlank(); mn++)
                        {
                            kk[mn] = WrongRadioManager.WrongRadionum(Session["stuId"].ToString(), mn, "Mid", "WrongBlank");
                            iUp2   = iUp2 + kk[mn];
                        }
                        int[] k = new int[3];
                        while (true)
                        {
                            int i;
                            k[0] = ran.Next(iDown, iUp2);
                            k[1] = ran.Next(iDown, iUp2);
                            k[2] = ran.Next(iDown, iUp2);
                            //对随机选出的3个数重映射题号
                            for (i = 0; i <= 2; i++)
                            {
                                if (k[i] > TestMidManager.CountBlank())
                                {
                                    int temp;
                                    temp = k[i] - TestMidManager.CountBlank();
                                    int p;
                                    for (p = 1; p <= TestMidManager.CountBlank(); p++)
                                    {
                                        temp = temp - kk[p];
                                        if (temp <= 0)
                                        {
                                            break;
                                        }
                                    }
                                    k[i] = p;
                                }
                            }
                            if (k[0] != k[1] && k[0] != k[2] && k[1] != k[2])
                            {
                                i = 2;
                            }
                            if (i == 2)
                            {
                                break;
                            }
                        }

                        b1 = TestMidManager.GetBlank(k[0]);
                        TestMidManager.ShowQuestionBlank(b1, lblB1, lblB12);
                        b2 = TestMidManager.GetBlank(k[1]);
                        TestMidManager.ShowQuestionBlank(b2, lblB2, lblB22);
                        b3 = TestMidManager.GetBlank(k[2]);
                        TestMidManager.ShowQuestionBlank(b3, lblB3, lblB32);


                        //随机出题
                        int   iUp3 = TestMidManager.CountDesign();
                        int[] m    = new int[2];
                        m[0] = ran.Next(iDown, iUp3);
                        d1   = TestMidManager.GetDesign(m[0]);
                        TestMidManager.ShowQuestionDesign(d1, lblD1, lblD1S1, lblD1S2, rdolistD1S1, rdolistD1S2);
                    }

                    else
                    {
                        lblTitle.Visible    = false;
                        PanelAll.Visible    = false;
                        PanelDesign.Visible = false;
                        btnSubmit.Visible   = false;
                        btnOk.Visible       = false;
                        btnSave.Visible     = false;
                        //Response.Write("<script type = 'text/javascript'> alert('你未通过低等级测试,不能进行该等级测试!'); </script>");
                        RegisterClientScriptBlock("", "<script>alert('你未通过前测或低等级测试,不能进行中级测试!')</script>");
                    }
                }
            }
            else
            {
                Response.Redirect("Login.aspx");
            }
        }
    }