protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // QueryString id stands for EXAM_RESULT_ID string strId = Request.QueryString.Get("id"); if (!string.IsNullOrEmpty(strId)) { FillHeading(strId); } } string strJudgeData = hfJudgeData.Value; if (!string.IsNullOrEmpty(strJudgeData)) { string strTaskResultId = Request.QueryString.Get("id"); string[] strItmes = strJudgeData.Split('$'); string[] strJudges = new string[3]; TaskResultBLL bll = new TaskResultBLL(); TaskResultAnswer answer = null; IList <TaskResultAnswer> answers = new List <TaskResultAnswer>(); foreach (string item in strItmes) { strJudges = item.Split('|'); answer = new TaskResultAnswer(); answer.TaskResultId = int.Parse(strTaskResultId); answer.PaperItemId = int.Parse(strJudges[0]); answer.JudgeStatusId = int.Parse(strJudges[1]); answer.JudgeScore = decimal.Parse(strJudges[2]); answer.JudgeRemark = strJudges[3]; answers.Add(answer); } bll.UpdateTaskResultAnswers(int.Parse(strTaskResultId), answers); } }
protected void FillPaper() { // QueryString id stands for EXAM_RESULT_ID string strId = Request.QueryString.Get("id"); // Not pass id if (string.IsNullOrEmpty(strId)) { SessionSet.PageMessage = "参数错误!"; return; } PaperItemBLL kBLL = new PaperItemBLL(); PaperSubjectBLL kBSLL = new PaperSubjectBLL(); TaskResultBLL taskResultBLL = new TaskResultBLL(); TaskResultAnswerBLL taskResultAnswerBLL = new TaskResultAnswerBLL(); RailExam.Model.TaskResult taskResult = taskResultBLL.GetTaskResult(int.Parse(strId)); // Not found if (taskResult == null) { SessionSet.PageMessage = "数据错误!"; return; } IList <PaperSubject> PaperSubjects = kBSLL.GetPaperSubjectByPaperId(taskResult.PaperId); PaperSubject paperSubject = null; IList <PaperItem> PaperItems = null; IList <TaskResultAnswer> taskResultAnswers = taskResultAnswerBLL.GetTaskResultAnswers(taskResult.TaskResultId); if (PaperSubjects != null) { for (int i = 0; i < PaperSubjects.Count; i++) { paperSubject = PaperSubjects[i]; PaperItems = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); Response.Write("<table style='width:100%;'>"); Response.Write( " <tr class=\"tableFont\" > <td colspan='3' align='left' style='background-color:#54FF9F' >"); Response.Write(" " + CommonTool.GetChineseNumber(i + 1) + ""); Response.Write(". " + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + paperSubject.ItemCount * paperSubject.UnitScore + "分)</td></tr >"); if (PaperItems != null) { for (int j = 0; j < PaperItems.Count; j++) { PaperItem paperItem = PaperItems[j]; int k = j + 1; Response.Write("<tr class=\"tableFont\" > <td colspan='3' style='text-align:left; background-color:gainsboro;'> " + k + ". " + paperItem.Content + " (" + paperSubject.UnitScore + "分)</td></tr >"); // 组织用户答案 TaskResultAnswer theTaskResultAnswer = null; string[] strUserAnswers = new string[0]; string strUserAnswer = string.Empty; foreach (TaskResultAnswer resultAnswer in taskResultAnswers) { if (resultAnswer.PaperItemId == paperItem.PaperItemId) { theTaskResultAnswer = resultAnswer; break; } } // 若子表无记录,结束页面输出 if (theTaskResultAnswer == null) { SessionSet.PageMessage = "数据错误!"; return; } // 否则组织考生答案 if (theTaskResultAnswer.Answer != null) { strUserAnswers = theTaskResultAnswer.Answer.Split(new char[] { '|' }); } for (int n = 0; n < strUserAnswers.Length; n++) { if (n == 0) { strUserAnswer += CommonTool.GetSelectLetter(int.Parse(strUserAnswers[n]) + 1); } else { strUserAnswer += "," + CommonTool.GetSelectLetter(int.Parse(strUserAnswers[n]) + 1); } } //多选 if (paperSubject.ItemTypeId == 2) { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString() + "-" + n.ToString(); string strName = i.ToString() + j.ToString(); Response.Write(" <tr class=\"tableFont\" ><td colspan='3' align='left'> " + "<input type='checkbox' id='Answer" + strij + "' name='Answer" + strName + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "") + " disabled/> " + CommonTool.GetSelectLetter(n + 1) + "." + strAnswer[n] + "</td></tr >"); } } else { //单选 string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString() + "-" + n.ToString(); string strName = i.ToString() + j.ToString(); Response.Write("<tr class=\"tableFont\" > <td colspan='3' align='left'> " + "<input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "") + " disabled/> " + CommonTool.GetSelectLetter(n + 1) + "." + strAnswer[n] + "</td></tr >"); } } // 组织正确答案 string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' }); string strRightAnswer = ""; for (int n = 0; n < strRightAnswers.Length; n++) { if (n == 0) { strRightAnswer += CommonTool.GetSelectLetter(n + 1); } else { strRightAnswer += "," + CommonTool.GetSelectLetter(n + 1); } } Response.Write(" <tr class=\"tableFont\"><td colspan='3' style='color:green; text-align:left; '> ★标准答案:" + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId + "'>" + strRightAnswer + "</span></td></tr>"); Response.Write(" <tr class=\"tableFont\"><td colspan='3' style='color:blue; text-align:left; '> ★考生答案:" + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" + paperItem.PaperItemId + "'>" + strUserAnswer + "</span></td></tr>"); Response.Write(" <tr class=\"tableFont\" score='" + paperItem.Score + "'><td style='color:purple; text-align:left; width:20%; '>★评分结果:" //+ "<input type='radio' id='rbnCorrect" + "-" + paperItem.PaperItemId //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId //+ "' " + (strRightAnswer.Equals(strUserAnswer) ? "checked" : "") //+ "><font color='green'>对</font></input>" //+ "<input type='radio' id='rbnIncorrect" + "-" + paperItem.PaperItemId //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId //+ "' " + (strRightAnswer.Equals(strUserAnswer) ? "" : "checked") //+ "><font color='red'>错</font></input>" //+ "<input type='radio' id='rbnPartlyCorrect" + "-" + paperItem.PaperItemId //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId + "'>半对</input>" + GetJudgeInputs(paperItem.PaperItemId, theTaskResultAnswer.JudgeStatusId) + " " + "得分 " + theTaskResultAnswer.JudgeScore.ToString() + " " + "评语 " + theTaskResultAnswer.JudgeRemark + "" + "</td></tr>"); } } Response.Write(" </table> "); } } else { SessionSet.PageMessage = "数据错误!"; return; } }
protected void FillResultPaper(string strTaskResultId) { string strId = strTaskResultId; // Not pass id if (string.IsNullOrEmpty(strId)) { return; } PaperItemBLL kBLL = new PaperItemBLL(); PaperSubjectBLL kBSLL = new PaperSubjectBLL(); TaskResultBLL examResultBLL = new TaskResultBLL(); TaskResultAnswerBLL examResultAnswerBLL = new TaskResultAnswerBLL(); TaskResult examResult = examResultBLL.GetTaskResult(int.Parse(strId)); // Not found if (examResult == null) { return; } IList <PaperSubject> PaperSubjects = kBSLL.GetPaperSubjectByPaperId(examResult.PaperId); PaperSubject paperSubject = null; IList <PaperItem> PaperItems = null; IList <TaskResultAnswer> examResultAnswers = examResultAnswerBLL.GetTaskResultAnswers(examResult.TaskResultId); if (PaperSubjects != null) { for (int i = 0; i < PaperSubjects.Count; i++) { paperSubject = PaperSubjects[i]; PaperItems = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); Response.Write("<table width='100%' class='contentTable'>"); Response.Write(" <tr > <td align='left' style='background-color:#54FF9F' >"); Response.Write(" " + GetNo(i) + ""); Response.Write(". " + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + paperSubject.ItemCount * paperSubject.UnitScore + "分)</td></tr >"); // 用于前台JS判断是否完成全部试题 hfPaperItemsCount.Value = paperSubject.ItemCount.ToString(); if (PaperItems != null) { for (int j = 0; j < PaperItems.Count; j++) { PaperItem paperItem = PaperItems[j]; int k = j + 1; Response.Write("<tr > <td style='text-align:left; background-color:gainsboro;'> " + k + ". " + paperItem.Content + " (" + paperSubject.UnitScore + "分)</td></tr >"); // 组织用户答案 TaskResultAnswer theExamResultAnswer = null; string[] strUserAnswers = new string[0]; string strUserAnswer = string.Empty; foreach (TaskResultAnswer resultAnswer in examResultAnswers) { if (resultAnswer.PaperItemId == paperItem.PaperItemId) { theExamResultAnswer = resultAnswer; break; } } // 若子表无记录,结束页面输出 if (theExamResultAnswer == null) { SessionSet.PageMessage = "数据错误!"; return; } // 否则组织考生答案 if (theExamResultAnswer.Answer != null) { strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' }); } for (int n = 0; n < strUserAnswers.Length; n++) { string strN = intToString(int.Parse(strUserAnswers[n]) + 1); if (n == 0) { strUserAnswer += strN; } else { strUserAnswer += "," + strN; } } //多选 if (paperSubject.ItemTypeId == 2) { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString() + "-" + n.ToString(); string strName = i.ToString() + j.ToString(); Response.Write(" <tr ><td align='left'> " + "<input type='checkbox' id='Answer" + strij + "' name='Answer" + strName + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "") + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >"); } } else { //单选 string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString() + "-" + n.ToString(); string strName = i.ToString() + j.ToString(); Response.Write("<tr > <td align='left'> " + "<input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "") + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >"); } } // 组织正确答案 string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' }); string strRightAnswer = ""; for (int n = 0; n < strRightAnswers.Length; n++) { string strN = intToString(int.Parse(strRightAnswers[n]) + 1); if (n == 0) { strRightAnswer += strN; } else { strRightAnswer += "," + strN; } } Response.Write(" <tr><td style='color:green; text-align:left; '> ★标准答案:" + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId + "'>" + strRightAnswer + "</span></td></tr>"); Response.Write(" <tr><td style='color:blue; text-align:left; '> ★考生答案:" + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" + paperItem.PaperItemId + "'>" + strUserAnswer + "</span></td></tr>"); Response.Write(" <tr score='" + paperItem.Score + "'><td style='color:purple; text-align:left; '>★"// + "得分<input type='text' readonly id='txtScore" + "-" + paperItem.PaperItemId + "' name='txtScore" + "-" + paperItem.PaperItemId + "' value='" + theExamResultAnswer.JudgeScore.ToString(".00") + "' size='8' style='width:20%'></input> " + "评语<input type='text' readonly id='txtMemo" + "-" + paperItem.PaperItemId + "' name='txtMemo" + "-" + paperItem.PaperItemId + "' size='40' value='" + theExamResultAnswer.JudgeRemark + "' style='width:70%'></input>" + "</td></tr>"); } } Response.Write(" </table> "); } } Response.Write("<table width='100%'> <tr></tr><tr><td style='color:purple;text-align:left; '> ★★★该作业最终得分:" + examResult.Score + "分 </td></tr></table>"); Response.Write("<table width='100%'> <tr><td style='text-align:center; '><a onclick='Close()' href='#'><b>关闭</b></a> </td></tr></table>"); }