//数据加载(修改进入)
        private void DataLoadForEdit(int itemID)
        {
            //加载主题数据
            ItemBLL itemBLL = new ItemBLL();

            RailExam.Model.Item mainItem = itemBLL.GetItem(itemID);
            if (mainItem != null)
            {
                DataLoadForEditOnMain(mainItem);
                //主题加载完之后加载第一小题
                txtTestCount_TextChanged(null, null);
                this.dropTestNo.SelectedValue = "1";
                //保存当前变化前的题号
                this.hfTestNoBefore.Value = "1";

                IList <RailExam.Model.Item> subItemList = itemBLL.GetItemsByParentItemID(itemID);
                foreach (RailExam.Model.Item item in subItemList)
                {
                    if (item.ItemIndex.ToString() == "1")
                    {
                        //加载第一题
                        DataLoadForEditOnSubsidiary(item);
                        break;
                    }
                }
            }
        }
 //子题数据加载
 private void DataLoadForEditOnSubsidiary(RailExam.Model.Item subItem)
 {
     this.dropTestNo.SelectedValue = subItem.ItemIndex.ToString();
     this.dropItemCount.Text       = subItem.AnswerCount.ToString();
     this.txtSubContent.Text       = subItem.Content;
     this.txtKeyWord.Text          = subItem.KeyWord;
     this.txtMemo.Text             = subItem.Memo;
     TextBox[] txts          = { this.txtA, this.txtB, this.txtC, this.txtD, this.txtE, this.txtF, this.txtG, this.txtH, this.txtJ, this.txtK, this.txtL };
     string[]  selectAnswers = subItem.SelectAnswer.Split('|');
     for (int i = 0; i < selectAnswers.Length; i++)
     {
         if (!String.IsNullOrEmpty(selectAnswers[i]))
         {
             txts[i].Text = selectAnswers[i];
         }
         else
         {
             break;
         }
     }
     RadioButton[] radioes = { this.radioA, this.radioB, this.radioC, this.radioD, this.radioE, this.radioF, this.radioG, this.radioH, this.radioJ, this.radioK, this.radioL };
     for (int i = 0; i < radioes.Length; radioes[i++].Checked = false)
     {
         ;
     }
     radioes[Int32.Parse(subItem.StandardAnswer)].Checked = true;
     this.hfTestNoBefore.Value = subItem.ItemIndex.ToString();
 }
 //主题数据加载
 private void DataLoadForEditOnMain(RailExam.Model.Item mainItem)
 {
     this.lblchapter.Text           = mainItem.BookName + " " + mainItem.ChapterName;
     this.dropStatus.SelectedValue  = mainItem.StatusId.ToString();
     this.dropPurpose.SelectedValue = mainItem.UsageId.ToString();
     this.dateCreate.DateValue      = mainItem.CreateTime.Date.ToShortDateString();
     this.dateOut.DateValue         = mainItem.OutDateDate.Date.ToShortDateString();
     this.txtCreater.Text           = mainItem.CreatePerson;
     this.txtTestCount.Text         = mainItem.AnswerCount.ToString();
     this.txtContent.Text           = mainItem.Content;
     this.txtKeyWord.Text           = mainItem.KeyWord;
     this.txtMemo.Text = mainItem.Memo;
 }
        //新增数据
        private void DataInsert(int testNo)
        {
            this.hfTestNoBefore.Value = testNo.ToString();

            ItemBLL bllItem = new ItemBLL();

            //如果这个hfMainItemID为空,则Cloze的题干尚未保存
            if (String.IsNullOrEmpty(this.hfMainItemID.Value))
            {
                RailExam.Model.Item mainItem = new RailExam.Model.Item();
                mainItem.BookId         = Int32.Parse(this.hfBookID.Value);
                mainItem.ChapterId      = Int32.Parse(this.hfChapterID.Value);
                mainItem.OrganizationId = PrjPub.CurrentLoginUser.OrgID;
                mainItem.TypeId         = 4;
                mainItem.CompleteTime   = 60;
                mainItem.DifficultyId   = 3;
                mainItem.Score          = 4m;
                mainItem.Content        = this.txtContent.Text;
                mainItem.AnswerCount    = Int32.Parse(this.txtTestCount.Text);
                mainItem.OutDateDate    = Convert.ToDateTime(this.dateOut.DateValue);
                mainItem.UsageId        = Int32.Parse(this.dropPurpose.SelectedValue);
                mainItem.StatusId       = Int32.Parse(this.dropStatus.SelectedValue);
                mainItem.CreatePerson   = this.txtCreater.Text;
                mainItem.CreateTime     = Convert.ToDateTime(this.dateCreate.DateValue);
                mainItem.UsedCount      = 0;
                mainItem.Memo           = this.txtMemo.Text;
                mainItem.HasPicture     = 0;
                mainItem.KeyWord        = this.txtKeyWord.Text;
                mainItem.ParentItemId   = 0;

                try
                {
                    int newID = bllItem.AddItem(mainItem);
                    this.hfMainItemID.Value = newID.ToString();
                }
                catch (Exception)
                {
                    this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('错误:题干保存失败');", true);
                    return;
                }
            }
            //保存选项
            //如果该小题已经保存了,不执行
            if (!this.hfSavedTestNo.Value.Contains(testNo.ToString()))
            {
                RailExam.Model.Item subItem = new RailExam.Model.Item();
                subItem.BookId         = Int32.Parse(this.hfBookID.Value);
                subItem.ChapterId      = Int32.Parse(this.hfChapterID.Value);
                subItem.OrganizationId = PrjPub.CurrentLoginUser.OrgID;
                subItem.TypeId         = 5;
                subItem.CompleteTime   = 60;
                subItem.DifficultyId   = 3;
                subItem.Score          = 4m;
                subItem.Content        = String.IsNullOrEmpty(this.txtSubContent.Text) ? this.txtContent.Text : this.txtSubContent.Text;
                subItem.AnswerCount    = Int32.Parse(this.dropItemCount.Text);
                string selectAnswer = String.Empty;
                //存储选项
                TextBox[] txts = { this.txtA, this.txtB, this.txtC, this.txtD, this.txtE, this.txtF, this.txtG, this.txtH, this.txtI, this.txtJ, this.txtK, this.txtL };
                for (int i = 0; i < 12; i++)
                {
                    if (!String.IsNullOrEmpty(txts[i].Text))
                    {
                        selectAnswer += String.IsNullOrEmpty(selectAnswer) ? txts[i].Text : "|" + txts[i].Text;
                    }
                    else
                    {
                        break;
                    }
                }
                subItem.SelectAnswer = selectAnswer;
                //存储答案
                RadioButton[] radioes = { this.radioA, this.radioB, this.radioC, this.radioD, this.radioE, this.radioF, this.radioG, this.radioH, this.radioI, this.radioJ, this.radioK, this.radioL };
                for (int i = 0; i < 12; i++)
                {
                    if (radioes[i].Checked)
                    {
                        subItem.StandardAnswer = Convert.ToString(i);
                        break;
                    }
                }
                subItem.OutDateDate  = Convert.ToDateTime(this.dateOut.DateValue);
                subItem.UsageId      = Int32.Parse(this.dropPurpose.SelectedValue);
                subItem.StatusId     = Int32.Parse(this.dropStatus.SelectedValue);
                subItem.CreatePerson = this.txtCreater.Text;
                subItem.CreateTime   = Convert.ToDateTime(this.dateCreate.DateValue);
                subItem.UsedCount    = 0;
                subItem.Memo         = this.txtMemo.Text;
                subItem.HasPicture   = 0;
                subItem.KeyWord      = this.txtKeyWord.Text;
                subItem.ParentItemId = Int32.Parse(this.hfMainItemID.Value);
                subItem.ItemIndex    = testNo;
                try
                {
                    bllItem.AddItem(subItem);
                    this.hfSavedTestNo.Value = String.IsNullOrEmpty(this.hfSavedTestNo.Value) ? subItem.ItemIndex.ToString() : this.hfSavedTestNo.Value + "," + subItem.ItemIndex.ToString();

                    this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('第" + testNo + "小题已保存');", true);
                    ItemsClear();
                }
                catch (Exception ex)
                {
                    this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('错误:选项保存失败. " + ex.Message + "');", true);
                }
            }
        }
        //修改数据
        private void DataUpdate(int testNo)
        {
            this.hfTestNoBefore.Value = testNo.ToString();
            ItemBLL itemBLL = new ItemBLL();
            string  itemID  = Request["id"].ToString();

            RailExam.Model.Item mainItem = itemBLL.GetItem(Int32.Parse(itemID));
            //修改主题
            mainItem.Content      = this.txtContent.Text;
            mainItem.OutDateDate  = Convert.ToDateTime(this.dateOut.DateValue);
            mainItem.UsageId      = Int32.Parse(this.dropPurpose.SelectedValue);
            mainItem.StatusId     = Int32.Parse(this.dropStatus.SelectedValue);
            mainItem.CreatePerson = this.txtCreater.Text;
            mainItem.CreateTime   = Convert.ToDateTime(this.dateCreate.DateValue);
            mainItem.Memo         = this.txtMemo.Text;
            mainItem.KeyWord      = this.txtKeyWord.Text;
            try
            {
                itemBLL.UpdateItem(mainItem);
            }
            catch (Exception)
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('主题修改不成功');", true);
                return;
            }
            //修改小题
            IList <RailExam.Model.Item> subItemList = itemBLL.GetItemsByParentItemID(Int32.Parse(itemID));

            foreach (RailExam.Model.Item item in subItemList)
            {
                if (item.ItemIndex.ToString() == testNo.ToString())
                {
                    string selectAnswer = String.Empty;
                    //存储选项
                    TextBox[] txts = { this.txtA, this.txtB, this.txtC, this.txtD, this.txtE, this.txtF, this.txtG, this.txtH, this.txtI, this.txtJ, this.txtK, this.txtL };
                    for (int i = 0; i < 12; i++)
                    {
                        if (!String.IsNullOrEmpty(txts[i].Text))
                        {
                            selectAnswer += String.IsNullOrEmpty(selectAnswer) ? txts[i].Text : "|" + txts[i].Text;
                        }
                        else
                        {
                            break;
                        }
                    }
                    item.SelectAnswer = selectAnswer;
                    //存储答案
                    RadioButton[] radioes = { this.radioA, this.radioB, this.radioC, this.radioD, this.radioE, this.radioF, this.radioG, this.radioH, this.radioI, this.radioJ, this.radioK, this.radioL };
                    for (int i = 0; i < 12; i++)
                    {
                        if (radioes[i].Checked)
                        {
                            item.StandardAnswer = Convert.ToString(i);
                            break;
                        }
                    }
                    item.Content      = String.IsNullOrEmpty(this.txtSubContent.Text) ? this.txtContent.Text : this.txtSubContent.Text;
                    item.Memo         = this.txtMemo.Text;
                    item.KeyWord      = this.txtKeyWord.Text;
                    item.ParentItemId = Int32.Parse(itemID);
                    try
                    {
                        itemBLL.UpdateItem(item);
                        this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('第" + testNo + "小题已修改');", true);
                    }
                    catch (Exception ex)
                    {
                        this.ClientScript.RegisterStartupScript(this.GetType(), "OK", "alert('第" + testNo + "小题修改不成功');", true);
                    }
                    //找到并修改了需要修改的小题后,就可跳出循环了
                    break;
                }
            }

            string strSql = "update Item set Status_ID=" + mainItem.StatusId
                            + " where Item_ID=" + mainItem.ItemId + " or Parent_Item_ID=" + mainItem.ItemId;
            OracleAccess db = new OracleAccess();

            db.ExecuteNonQuery(strSql);
        }
Esempio n. 6
0
        private void FillPaperNoAnswer()
        {
            if (ViewState["SelectItem"].ToString() == "")
            {
                SessionSet.PageMessage = "您输入的条件没有找到试题!";
                return;
            }

            ItemBLL itemBLL = new ItemBLL();
            IList <RailExam.Model.Item> Items = new List <RailExam.Model.Item>();

            string[] strSelectItem = ViewState["SelectItem"].ToString().Split(new char[] { '|' });
            for (int n = 0; n < strSelectItem.Length; n++)
            {
                RailExam.Model.Item item = itemBLL.GetItem(int.Parse(strSelectItem[n]));
                Items.Add(item);
            }

            decimal decTotalScore1 = 0;
            decimal decTotalScore2 = 0;
            int     n1             = 0;
            int     n2             = 0;

            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                if (item.TypeId == 1)
                {
                    decTotalScore1 += item.Score;
                    n1             += 1;
                }
                else
                {
                    decTotalScore2 += item.Score;
                    n2             += 1;
                }
            }

            if (Items != null)
            {
                string strHtml1 = "<table class='ExamContent'><tr><td class='ExamBigTitle' > 一、单选(共" + n1 + "题)</td></tr> ";

                string strHtml2 = "<table class='ExamContent'><tr><td class='ExamBigTitle' > 二、多选(共" + n2 + "题)</td></tr> ";

                int k1 = 0;
                int k2 = 0;

                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    if (item.TypeId == PrjPub.ITEMTYPE_SINGLECHOOSE)
                    {
                        k1 += 1;

                        strHtml1 += "<tr><td id='Item" + j + "' class='ExamItem' >&nbsp;&nbsp;&nbsp;" + k1 + ".&nbsp;" + item.Content +
                                    "&nbsp;&nbsp;</td></tr>";

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-1-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "1" + j.ToString();
                            strHtml1 += "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)' id='RAnswer" +
                                        strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                        "</td></tr>";
                        }
                    }
                    else if (item.TypeId == PrjPub.ITEMTYPE_MULTICHOOSE)
                    {
                        k2       += 1;
                        strHtml2 += "<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k2 + ".&nbsp;" + item.Content +
                                    "&nbsp;&nbsp;</td></tr>";

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-2-" + +item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "2" + j.ToString();
                            strHtml2 += "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' id='RAnswer" +
                                        strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] + "</td></tr>";
                        }
                    }
                }
                strHtml1 += " </table> ";
                strHtml2 += " </table> ";

                if (k1 > 0)
                {
                    Response.Write(strHtml1);
                }
                if (k2 > 0)
                {
                    Response.Write(strHtml2);
                }

                Response.Write("<div class='ExamButton'><input class='button' type='button' onclick='SaveRecord()' value='提 交'/></div>");
            }
        }
Esempio n. 7
0
        private void FillPaperWithAnswer()
        {
            if (ViewState["IsShow"].ToString() == "True")
            {
                return;
            }

            decimal decTotalResultScore = 0;

            int rightNum = 0;
            int sumNum   = 0;

            string strAllAnswer = ViewState["Answers"].ToString();

            string[]  strAllAnswers = strAllAnswer.Split(new char[] { '$' });
            Hashtable hashTable     = new Hashtable();

            for (int i = 0; i < strAllAnswers.Length; i++)
            {
                string   str2          = strAllAnswers[i];
                string[] str3          = str2.Split(new char[] { '|' });
                string   strItemId     = str3[0];
                string   strTrueAnswer = str2.Substring(strItemId.Length + 1);
                hashTable[int.Parse(strItemId)] = strTrueAnswer;
            }

            ItemBLL itemBLL = new ItemBLL();
            IList <RailExam.Model.Item> Items = new List <RailExam.Model.Item>();

            string[] strSelectItem = ViewState["SelectItem"].ToString().Split(new char[] { '|' });
            for (int n = 0; n < strSelectItem.Length; n++)
            {
                RailExam.Model.Item item = itemBLL.GetItem(int.Parse(strSelectItem[n]));
                Items.Add(item);
            }
            ViewState["SelectItem"] = "";
            decimal decTotalScore1 = 0;
            decimal decTotalScore2 = 0;
            int     nCount1        = 0;
            int     nCount2        = 0;


            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                if (item.TypeId == 1)
                {
                    decTotalScore1 += item.Score;
                    nCount1        += 1;
                }
                else
                {
                    decTotalScore2 += item.Score;
                    nCount2        += 1;
                }
            }

            if (Items != null)
            {
                string strHtml1 = "<table class='ExamContent'><tr><td  class='ExamBigTitle'> 一、单选(共" + nCount1 + "题)</td></tr> ";

                string strHtml2 = "<table class='ExamContent'><tr><td class='ExamBigTitle'> 二、多选(共" + nCount2 + "题)</td></tr> ";

                sumNum = nCount1 + nCount2;

                int k1 = 0;
                int k2 = 0;
                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    if (item.TypeId == 1)
                    {
                        k1 += 1;

                        strHtml1 += "<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k1 + ".&nbsp;" + item.Content +
                                    "&nbsp;&nbsp;</td></tr>";

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-1-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "1" + j.ToString();
                            strHtml1 += "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' id='RAnswer" +
                                        strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                        "</td></tr>";
                        }

                        string[] strRightAnswers = item.StandardAnswer.Split(new char[] { '|' });
                        string   strRightAnswer  = "";
                        for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                        {
                            string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                            if (n1 == 0)
                            {
                                strRightAnswer += strN1;
                            }
                            else
                            {
                                strRightAnswer += "," + strN1;
                            }
                        }

                        string strhashValue  = hashTable[item.ItemId].ToString();
                        string strUserAnswer = "";
                        if (strhashValue != "")
                        {
                            string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                            for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                            {
                                string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                                if (n2 == 0)
                                {
                                    strUserAnswer += strN2;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN2;
                                }
                            }
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            decTotalResultScore += item.Score;
                            rightNum             = rightNum + 1;
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            strHtml1 += "<tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                        + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                        + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                        + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                        + "'>" + strUserAnswer + "</span></td></tr>";
                        }
                        else
                        {
                            strHtml1 += "<tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                        + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                        + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                        + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                        + "'>" + strUserAnswer + "</span></td></tr>";
                        }
                    }
                    else
                    {
                        k2       += 1;
                        strHtml2 += "<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k2 + ".&nbsp;" + item.Content +
                                    "&nbsp;&nbsp;</td></tr>";

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-2-" + +item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "2" + j.ToString();
                            strHtml2 += "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' id='RAnswer" +
                                        strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] + "</td></tr>";
                        }

                        string[] strRightAnswers = item.StandardAnswer.Split(new char[] { '|' });
                        string   strRightAnswer  = "";
                        for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                        {
                            string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                            if (n1 == 0)
                            {
                                strRightAnswer += strN1;
                            }
                            else
                            {
                                strRightAnswer += "," + strN1;
                            }
                        }

                        string strhashValue  = hashTable[item.ItemId].ToString();
                        string strUserAnswer = "";
                        if (strhashValue != "")
                        {
                            string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                            for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                            {
                                string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                                if (n2 == 0)
                                {
                                    strUserAnswer += strN2;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN2;
                                }
                            }
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            decTotalResultScore += item.Score;
                            rightNum             = rightNum + 1;
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            strHtml2 += "<tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                        + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                        + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                        + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                        + "'>" + strUserAnswer + "</span></td></tr>";
                        }
                        else
                        {
                            strHtml2 += "<tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                        + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                        + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                        + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                        + "'>" + strUserAnswer + "</span></td></tr>";
                        }
                    }
                }
                strHtml1 += " </table> ";
                strHtml2 += " </table> ";


                if (k1 > 0)
                {
                    Response.Write(strHtml1);
                }
                if (k2 > 0)
                {
                    Response.Write(strHtml2);
                }

                double decn = 0;
                if (sumNum > 0)
                {
                    decn = rightNum * 0.01 * 10000 / sumNum;
                }

                Response.Write("<table class='ExamContent'><tr><td class='ExamJudge'>★正确题数:" + rightNum + "&nbsp;&nbsp;&nbsp;&nbsp;正确率:" + decn.ToString("0.00") + "%</td></tr></table>");

                string strA = "总题数:" + sumNum + ",正确题数:" + rightNum + ",正确率:" + decn.ToString("0.00") + "%";
                SessionSet.PageMessage = strA;
            }

            ViewState["IsShow"] = "True";
        }
Esempio n. 8
0
        private void SavePaperItem(IList <RailExam.Model.Item> itemList, int nDifficulty, int nPaperId, int nPaperSubjectId, decimal nUnitScore)
        {
            if (itemList.Count > 0)
            {
                PaperItemBLL      paperItemBLL = new PaperItemBLL();
                IList <PaperItem> paperItems   = new List <PaperItem>();

                if (itemList.Count > nDifficulty)
                {
                    Random    ObjRandom = new Random();
                    Hashtable hashTable = new Hashtable();
                    while (hashTable.Count < nDifficulty)
                    {
                        int i = ObjRandom.Next(itemList.Count);
                        hashTable[itemList[i].ItemId] = itemList[i].ItemId;
                    }

                    ItemBLL itemBLL = new ItemBLL();

                    //把hashtable里的试题加到考试表


                    foreach (int key in hashTable.Keys)
                    {
                        string strItemId = hashTable[key].ToString();

                        RailExam.Model.Item item = itemBLL.GetItem(int.Parse(strItemId));

                        PaperItem paperItem = new PaperItem();

                        paperItem.PaperId        = nPaperId;
                        paperItem.PaperSubjectId = nPaperSubjectId;
                        paperItem.AnswerCount    = item.AnswerCount;
                        paperItem.BookId         = item.BookId;
                        paperItem.CategoryId     = item.CategoryId;
                        paperItem.ChapterId      = item.ChapterId;
                        paperItem.CompleteTime   = item.CompleteTime;
                        paperItem.Content        = item.Content;
                        paperItem.CreatePerson   = item.CreatePerson;
                        paperItem.CreateTime     = item.CreateTime;
                        paperItem.Description    = item.Description;
                        paperItem.DifficultyId   = item.DifficultyId;
                        paperItem.ItemId         = item.ItemId;
                        paperItem.Memo           = item.Memo;
                        paperItem.OrderIndex     = 0;
                        paperItem.OrganizationId = item.OrganizationId;
                        paperItem.OutDateDate    = item.OutDateDate;
                        paperItem.Score          = nUnitScore;
                        paperItem.SelectAnswer   = item.SelectAnswer;
                        paperItem.Source         = item.Source;
                        paperItem.StandardAnswer = item.StandardAnswer;
                        paperItem.StatusId       = item.StatusId;
                        paperItem.TypeId         = item.TypeId;
                        paperItem.UsedCount      = item.UsedCount;
                        paperItem.Version        = item.Version;

                        paperItems.Add(paperItem);
                    }
                }
                else    //直接把这些试题加到考试表

                {
                    foreach (RailExam.Model.Item item in itemList)
                    {
                        PaperItem paperItem = new PaperItem();

                        paperItem.PaperId        = nPaperId;
                        paperItem.PaperSubjectId = nPaperSubjectId;
                        paperItem.AnswerCount    = item.AnswerCount;
                        paperItem.BookId         = item.BookId;
                        paperItem.CategoryId     = item.CategoryId;
                        paperItem.ChapterId      = item.ChapterId;
                        paperItem.CompleteTime   = item.CompleteTime;
                        paperItem.Content        = item.Content;
                        paperItem.CreatePerson   = item.CreatePerson;
                        paperItem.CreateTime     = item.CreateTime;
                        paperItem.Description    = item.Description;
                        paperItem.DifficultyId   = item.DifficultyId;
                        paperItem.ItemId         = item.ItemId;
                        paperItem.Memo           = item.Memo;
                        paperItem.OrderIndex     = 0;
                        paperItem.OrganizationId = item.OrganizationId;
                        paperItem.OutDateDate    = item.OutDateDate;
                        paperItem.Score          = nUnitScore;
                        paperItem.SelectAnswer   = item.SelectAnswer;
                        paperItem.Source         = item.Source;
                        paperItem.StandardAnswer = item.StandardAnswer;
                        paperItem.StatusId       = item.StatusId;
                        paperItem.TypeId         = item.TypeId;
                        paperItem.UsedCount      = item.UsedCount;
                        paperItem.Version        = item.Version;

                        paperItems.Add(paperItem);
                    }
                }
                if (paperItems.Count > 0)
                {
                    paperItemBLL.AddPaperItem(paperItems);
                }
            }
        }
Esempio n. 9
0
        private void FillPaperNoAnswer()
        {
            ItemBLL itemBLL      = new ItemBLL();
            string  strBookId    = Request.QueryString.Get("bookid");
            string  strChapterId = Request.QueryString.Get("ChapterId");

            if (strChapterId == "0")
            {
                IList <RailExam.Model.Item> Items1 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 1);
                IList <RailExam.Model.Item> Items2 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 2);
                IList <RailExam.Model.Item> Items3 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 3);
                IList <RailExam.Model.Item> Items4 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 4);

                Response.Write("<div class='ExamBigTitle' style='text-align:center;' >");
                Response.Write(" 本教材共有" + Items1.Count + "道单选题、" + Items2.Count + "道多选题、<br>" + Items3.Count + "道判断题、" + Items4.Count + "道综合选择题,请点击章节查看练习题!");
                Response.Write("</div>");
            }
            else
            {
                BookChapterBLL objBll = new BookChapterBLL();
                BookChapter    obj    = objBll.GetBookChapter(Convert.ToInt32(strChapterId));
                hfCannotSeeAnswer.Value = obj.IsCannotSeeAnswer.ToString();

                if (Convert.ToBoolean(hfCannotSeeAnswer.Value))
                {
                    Response.Write("<div class='ExamBigTitle' style='text-align:center;' >");
                    Response.Write(" 本章节练习题已被屏蔽!");
                    Response.Write("</div>");
                    return;
                }


                int nCount = 0;
                //单选
                IList <RailExam.Model.Item> Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 1);
                decimal decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' >");
                    Response.Write(" 一、单选(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-1-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-1-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "1" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }

                //多选
                Items         = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 2);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }

                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();
                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr> <td class='ExamBigTitle' >");
                    Response.Write(" 二、多选(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-2-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-2-" + +item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "2" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' onclick='CheckStyle(this)' id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] + "</td></tr>");
                        }
                    }
                    Response.Write("</table> ");
                }

                //判断
                Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 3);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' >");
                    Response.Write("三、判断(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-3-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-3-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "3" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }

                //综合选择题
                Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 4);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' colspan='3'>");
                    Response.Write("四、综合选择题(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item" + j + "' class='ExamItem' colspan='3'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        IList <RailExam.Model.Item> objChildList = itemBLL.GetItemsByParentItemID(item.ItemId);

                        foreach (RailExam.Model.Item item1 in objChildList)
                        {
                            string[] strAnswer = item1.SelectAnswer.Split(new char[] { '|' });
                            for (int n = 0; n < strAnswer.Length; n++)
                            {
                                string strN  = intToString(n + 1);
                                string strij = "-4-" + item1.ItemId + "-" + item1.ItemId +
                                               "-" + n.ToString();
                                string strName = "4" + item1.ItemId;

                                if (n == 0)
                                {
                                    int row = strAnswer.Length % 2 == 0 ? strAnswer.Length / 2 : strAnswer.Length / 2 + 1;
                                    Response.Write("<tr><td id='Item-4-" + item1.ItemId + "' class='ExamItemOther' style='width:10%;' RowSpan='" + row + "'>&nbsp;&nbsp;&nbsp;(" + item1.ItemIndex + ").&nbsp;</td>");
                                }

                                if (n % 2 == 0 && n != 0)
                                {
                                    Response.Write("<tr>");
                                }

                                Response.Write(
                                    "<td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                    strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                    "</td>");

                                if (n % 2 == 1)
                                {
                                    Response.Write("</tr>");
                                }
                            }
                        }
                    }
                    Response.Write(" </table> ");
                }

                if (!Convert.ToBoolean(hfCannotSeeAnswer.Value))
                {
                    Response.Write("<div class='ExamButton'><input class='button' type='button' onclick='SaveRecord()' value='提交练习'/></div>");
                }
                Response.Write("<br><br>");
            }
        }
Esempio n. 10
0
        private void FillPaperWithAnswer()
        {
            string strAllAnswer = ViewState["Answers"].ToString();

            string[]  strAllAnswers = strAllAnswer.Split(new char[] { '$' });
            Hashtable hashTable     = new Hashtable();

            for (int i = 0; i < strAllAnswers.Length; i++)
            {
                string   str2          = strAllAnswers[i];
                string[] str3          = str2.Split(new char[] { '|' });
                string   strItemId     = str3[0];
                string   strTrueAnswer = str2.Substring(strItemId.Length + 1);
                hashTable[int.Parse(strItemId)] = strTrueAnswer;
            }

            decimal decTotalResultScore = 0;
            ItemBLL itemBLL             = new ItemBLL();
            string  strBookId           = Request.QueryString.Get("bookid");
            string  strChapterId        = Request.QueryString.Get("ChapterId");

            //单选
            decimal rightNum = 0;
            decimal sumNum   = 0;

            IList <RailExam.Model.Item> Items = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 1);
            decimal decTotalScore             = 0;

            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                decTotalScore += item.Score;
            }

            if (Items != null)
            {
                sumNum = sumNum + Items.Count;
                Response.Write("<table width='95%' class='ExamContent'>");
                Response.Write("<tr><td class='ExamBigTitle'>");
                Response.Write(" 一、单选(共" + Items.Count + "题)</td></tr>");

                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    int k = j + 1;

                    Response.Write("<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content + "</td></tr>");

                    string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                    for (int n = 0; n < strAnswer.Length; n++)
                    {
                        string strN  = intToString(n + 1);
                        string strij = "-" + item.ItemId + "-" + j.ToString() +
                                       "-" + n.ToString();
                        string strName = "1" + j.ToString();
                        Response.Write(
                            "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' id='RAnswer" +
                            strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                            "</td></tr>");
                    }

                    string[] strRightAnswers = item.StandardAnswer.Split(new char[] { '|' });
                    string   strRightAnswer  = "";
                    for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                    {
                        string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                        if (n1 == 0)
                        {
                            strRightAnswer += strN1;
                        }
                        else
                        {
                            strRightAnswer += "," + strN1;
                        }
                    }

                    string strhashValue  = hashTable[item.ItemId].ToString();
                    string strUserAnswer = "";
                    if (strhashValue != "")
                    {
                        string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                        for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                        {
                            string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                            if (n2 == 0)
                            {
                                strUserAnswer += strN2;
                            }
                            else
                            {
                                strUserAnswer += "," + strN2;
                            }
                        }
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        decTotalResultScore += item.Score;
                        rightNum             = rightNum + 1;
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        Response.Write("<tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                    else
                    {
                        Response.Write("<tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                }
                Response.Write("</table>");
            }

            //多选
            Items = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 2);
            decimal decTotalScore1 = 0;

            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                decTotalScore1 += item.Score;
            }

            if (Items != null)
            {
                sumNum = sumNum + Items.Count;
                Response.Write("<table class='ExamContent'>");
                Response.Write("<tr><td  class='ExamBigTitle'>");
                Response.Write(" 二、多选(共" + Items.Count + "题)</td></tr>");

                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    int k = j + 1;

                    Response.Write("<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content + "</td></tr>");

                    string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                    for (int n = 0; n < strAnswer.Length; n++)
                    {
                        string strN  = intToString(n + 1);
                        string strij = "-" + item.ItemId + "-" + j.ToString() +
                                       "-" + n.ToString();
                        string strName = "2" + j.ToString();
                        Response.Write(
                            "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' id='RAnswer" +
                            strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                            "</td></tr>");
                    }

                    string[] strRightAnswers = item.StandardAnswer.Split(new char[] { '|' });
                    string   strRightAnswer  = "";
                    for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                    {
                        string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                        if (n1 == 0)
                        {
                            strRightAnswer += strN1;
                        }
                        else
                        {
                            strRightAnswer += "," + strN1;
                        }
                    }

                    string strhashValue  = hashTable[item.ItemId].ToString();
                    string strUserAnswer = "";
                    if (strhashValue != "")
                    {
                        string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                        for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                        {
                            string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                            if (n2 == 0)
                            {
                                strUserAnswer += strN2;
                            }
                            else
                            {
                                strUserAnswer += "," + strN2;
                            }
                        }
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        decTotalResultScore += item.Score;
                        rightNum             = rightNum + 1;
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        Response.Write("<tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                    else
                    {
                        Response.Write("<tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                }
                Response.Write(" </table> ");
            }


            //判断
            Items         = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 3);
            decTotalScore = 0;
            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                decTotalScore += item.Score;
            }

            if (Items != null)
            {
                sumNum = sumNum + Items.Count;
                Response.Write("<table width='95%' class='ExamContent'>");
                Response.Write("<tr><td class='ExamBigTitle'>");
                Response.Write(" 三、判断(共" + Items.Count + "题)</td></tr>");

                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    int k = j + 1;

                    Response.Write("<tr><td class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content + "</td></tr>");

                    string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                    for (int n = 0; n < strAnswer.Length; n++)
                    {
                        string strN  = intToString(n + 1);
                        string strij = "-" + item.ItemId + "-" + j.ToString() +
                                       "-" + n.ToString();
                        string strName = "3" + j.ToString();
                        Response.Write(
                            "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' id='RAnswer" +
                            strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                            "</td></tr>");
                    }

                    string[] strRightAnswers = item.StandardAnswer.Split(new char[] { '|' });
                    string   strRightAnswer  = "";
                    for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                    {
                        string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                        if (n1 == 0)
                        {
                            strRightAnswer += strN1;
                        }
                        else
                        {
                            strRightAnswer += "," + strN1;
                        }
                    }

                    string strhashValue  = hashTable[item.ItemId].ToString();
                    string strUserAnswer = "";
                    if (strhashValue != "")
                    {
                        string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                        for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                        {
                            string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                            if (n2 == 0)
                            {
                                strUserAnswer += strN2;
                            }
                            else
                            {
                                strUserAnswer += "," + strN2;
                            }
                        }
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        decTotalResultScore += item.Score;
                        rightNum             = rightNum + 1;
                    }

                    if (strUserAnswer == strRightAnswer)
                    {
                        Response.Write("<tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                    else
                    {
                        Response.Write("<tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                       + "<span id='span-" + item.ItemId + "-0' name='span-" + item.ItemId
                                       + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                       + "<span id='span-" + item.ItemId + "-1' name='span-" + item.ItemId
                                       + "'>" + strUserAnswer + "</span></td></tr>");
                    }
                }
                Response.Write("</table>");
            }

            //综合选择题
            Items         = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 4);
            decTotalScore = 0;
            for (int i = 0; i < Items.Count; i++)
            {
                RailExam.Model.Item item = Items[i];
                decTotalScore += item.Score;
            }

            if (Items != null)
            {
                sumNum = sumNum + Items.Count;
                Response.Write("<table width='95%' class='ExamContent'>");
                Response.Write("<tr><td class='ExamBigTitle' colspan='3'>");
                Response.Write(" 四、综合选择题(共" + Items.Count + "题)</td></tr>");

                for (int j = 0; j < Items.Count; j++)
                {
                    RailExam.Model.Item item = Items[j];
                    int k = j + 1;

                    Response.Write("<tr><td class='ExamItem' colspan='3'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content + "</td></tr>");


                    IList <RailExam.Model.Item> objChildList = itemBLL.GetItemsByParentItemID(item.ItemId);

                    foreach (RailExam.Model.Item item1 in objChildList)
                    {
                        string[] strAnswer = item1.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-" + item1.ItemId + "-" + item1.ItemId +
                                           "-" + n.ToString();
                            string strName = "4" + item1.ItemId;

                            if (n == 0)
                            {
                                int row = strAnswer.Length % 2 == 0 ? strAnswer.Length / 2 : strAnswer.Length / 2 + 1;
                                Response.Write("<tr><td class='ExamItemOther' style='width:10%' RowSpan='" + row + "'>&nbsp;&nbsp;&nbsp;(" + item1.ItemIndex + ").&nbsp;</td>");
                            }

                            if (n % 2 == 0 && n != 0)
                            {
                                Response.Write("<tr>");
                            }

                            Response.Write(
                                "<td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                "</td>");

                            if (n % 2 == 1)
                            {
                                Response.Write("</tr>");
                            }
                        }

                        string[] strRightAnswers = item1.StandardAnswer.Split(new char[] { '|' });
                        string   strRightAnswer  = "";
                        for (int n1 = 0; n1 < strRightAnswers.Length; n1++)
                        {
                            string strN1 = intToString(int.Parse(strRightAnswers[n1]) + 1);
                            if (n1 == 0)
                            {
                                strRightAnswer += strN1;
                            }
                            else
                            {
                                strRightAnswer += "," + strN1;
                            }
                        }

                        string strhashValue  = hashTable[item1.ItemId].ToString();
                        string strUserAnswer = "";
                        if (strhashValue != "")
                        {
                            string[] strUserAnswers = strhashValue.ToString().Split(new char[] { '|' });

                            for (int n2 = 0; n2 < strUserAnswers.Length; n2++)
                            {
                                string strN2 = intToString(int.Parse(strUserAnswers[n2]) + 1);
                                if (n2 == 0)
                                {
                                    strUserAnswer += strN2;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN2;
                                }
                            }
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            decTotalResultScore += item1.Score;
                            rightNum             = rightNum + (decimal)1 / (decimal)objChildList.Count;
                        }

                        if (strUserAnswer == strRightAnswer)
                        {
                            Response.Write("<tr><td class='ExamAnswer' colspan='3'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                           + "<span id='span-" + item1.ItemId + "-0' name='span-" + item1.ItemId
                                           + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                           + "<span id='span-" + item1.ItemId + "-1' name='span-" + item1.ItemId
                                           + "'>" + strUserAnswer + "</span></td></tr>");
                        }
                        else
                        {
                            Response.Write("<tr><td class='ExamAnswerZero' colspan='3'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                           + "<span id='span-" + item1.ItemId + "-0' name='span-" + item1.ItemId
                                           + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;★考生答案:"
                                           + "<span id='span-" + item1.ItemId + "-1' name='span-" + item1.ItemId
                                           + "'>" + strUserAnswer + "</span></td></tr>");
                        }
                    }
                }
                Response.Write("</table>");
            }

            decimal decn = 0;

            if (sumNum > 0)
            {
                decn = rightNum * (decimal)0.01 * (decimal)10000 / sumNum;
            }

            Response.Write("<table class='ExamContent'><tr><td class='ExamJudge'>★正确题数:" + rightNum + "&nbsp;&nbsp;&nbsp;&nbsp;正确率:" + decn.ToString("0.00") + "%</td></tr></table>");

            string strA = "总题数:" + sumNum + ",正确题数:" + rightNum + ",正确率:" + decn.ToString("0.00") + "%";

            SessionSet.PageMessage = strA;
        }