Asp.net源码专业站
首页->尚未分类->Asp.net在线考试系统源码及毕业设计论文>>Students/examonline.aspx.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:Asp.net在线考试系统源码及毕业设计论文
当前文件:文件类型 ExamOnline/Students/examonline.aspx.cs[13K,2009-6-12 11:42:06]打开代码结构图
普通视图
		            
1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI.WebControls; 9using System.Web.UI.WebControls.WebParts; 10using System.Web.UI.HtmlControls; 11using System.Data.SqlClient; 12 13public partial class Students_examonline : System.Web.UI.Page 14{ 15 protected void Page_Load(object sender, EventArgs e) 16 { 17 HttpContext.Current.Application.Remove("EndTime"); 18 //------------------------------------------------防止直接访问 19 string strCheck = "exam"; 20 if (Session["checkUser"].ToString() != strCheck.ToString()) 21 { 22 Response.Redirect("login.aspx"); 23 } 24 //-------------------------------------------------------- 25 //Session["userID"] = "0301095"; //测试学号 26 27 lblExamTitle.Text = (new ExamOnline.Exam()).getCurrentPageTitle(); //取得试卷的标题 28 lblStuInfo.Text = (new ExamOnline.Exam()).getCurrentStudMessage(Session["userID"].ToString()); //取得考生的详细信息 29 int paperID = (new ExamOnline.Exam()).getCurrentPaperID(); //取得当前试卷的ID 30 //int paperID = 2; //测试试卷 31 hidPaperID.Value = Convert.ToString(paperID); 32 hidUserID.Value = Convert.ToString(Session["userID"]); 33 //--------------------------------------------------------------取得试卷的题型 34 DataTable dtStyles = (new ExamOnline.Exam()).getStyles(paperID); 35 if (dtStyles.Rows.Count > 0) 36 { 37 for (int i = 0; i < dtStyles.Rows.Count; i++) 38 { 39 int styles = Convert.ToInt32(dtStyles.Rows[i][0]); 40 if (styles ==Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesJudge)) //判断题 41 { 42 Label lblStyles = new Label(); 43 lblStyles.Text = "<br>判断题:<br>"; 44 lblStyles.Font.Bold = true; 45 panelContext.Controls.Add(lblStyles); 46 47 DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 48 int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 49 int qnumAll = dtQues.Rows.Count; //题型的题目总量 50 51 for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 52 { 53 Literal litTitle = new Literal(); 54 litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 55 56 DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 57 int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 58 RadioButtonList rbl = new RadioButtonList(); 59 rbl.RepeatDirection = RepeatDirection.Horizontal; 60 rbl.ID = "rbl" + qnum.ToString(); 61 for (int j = 0; j <= optionsAll - 1; j++) 62 { 63 string strABC = Convert.ToString(dtOptions.Rows[j][0]); 64 string strOption = Convert.ToString(dtOptions.Rows[j][1]); 65 ListItem li = new ListItem(); 66 li.Value = strABC; 67 li.Text = strABC + "" + strOption; 68 rbl.Items.Add(li); 69 } 70 panelContext.Controls.Add(litTitle); 71 panelContext.Controls.Add(rbl); 72 } 73 74 } 75 else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesSingle)) //单选题 76 { 77 Label lblStyles = new Label(); 78 lblStyles.Text = "<br>单选题:<br>"; 79 lblStyles.Font.Bold = true; 80 panelContext.Controls.Add(lblStyles); 81 82 DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 83 int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 84 int qnumAll = dtQues.Rows.Count; //题型的题目总量 85 86 for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 87 { 88 Literal litTitle = new Literal(); 89 litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 90 91 DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 92 int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 93 RadioButtonList rbl = new RadioButtonList(); 94 rbl.ID = "rbl" + qnum.ToString(); 95 for (int j = 0; j <= optionsAll - 1; j++) 96 { 97 string strABC = Convert.ToString(dtOptions.Rows[j][0]); 98 string strOption = Convert.ToString(dtOptions.Rows[j][1]); 99 ListItem li = new ListItem(); 100 li.Value = strABC; 101 li.Text = strABC + "" + strOption; 102 rbl.Items.Add(li); 103 } 104 panelContext.Controls.Add(litTitle); 105 panelContext.Controls.Add(rbl); 106 } 107 } 108 else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesMulti)) //多选题 109 { 110 Label lblStyles = new Label(); 111 lblStyles.Text = "<br>多选题:<br>"; 112 lblStyles.Font.Bold = true; 113 panelContext.Controls.Add(lblStyles); 114 115 DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 116 int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 117 int qnumAll = dtQues.Rows.Count; //题型的题目总量 118 for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 119 { 120 Literal litTitle = new Literal(); 121 litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 122 123 DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 124 int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 125 CheckBoxList cbl = new CheckBoxList(); 126 cbl.ID = "cbl" + qnum.ToString(); 127 for (int j = 0; j <= optionsAll - 1; j++) 128 { 129 string strABC = Convert.ToString(dtOptions.Rows[j][0]); 130 string strOption = Convert.ToString(dtOptions.Rows[j][1]); 131 ListItem li = new ListItem(); 132 li.Value = strABC; 133 li.Text = strABC + "" + strOption; 134 cbl.Items.Add(li); 135 } 136 panelContext.Controls.Add(litTitle); 137 panelContext.Controls.Add(cbl); 138 } 139 } 140 else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesOther)) //主观题 141 { 142 Label lblStyles = new Label(); 143 lblStyles.Text = "<br>主观题:<br>"; 144 lblStyles.Font.Bold = true; 145 panelContext.Controls.Add(lblStyles); 146 147 DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 148 int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 149 int qnumAll = dtQues.Rows.Count; //题型的题目总量 150 for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 151 { 152 Literal litTitle = new Literal(); 153 litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 154 155 string strAnswer = (new ExamOnline.Exam()).getAnswer(paperID, qnum); 156 TextBox tb = new TextBox(); 157 tb.TextMode = TextBoxMode.MultiLine; 158 tb.Width = 600; 159 tb.Height = 80; 160 tb.ID = "tb" + qnum.ToString(); 161 panelContext.Controls.Add(litTitle); 162 panelContext.Controls.Add(tb); 163 } 164 } 165 } 166 } 167 } 168 protected void btnSubmit_Click(object sender, EventArgs e) 169 { 170 int paperID = Convert.ToInt32(hidPaperID.Value); 171 string userID = hidUserID.Value; 172 DataTable dtQues1 = (new ExamOnline.Exam()).getQues(paperID, Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesJudge)); //取得判断题 173 DataTable dtQues2 = (new ExamOnline.Exam()).getQues(paperID, Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesSingle)); //取得单选题 174 DataTable dtQues3 = (new ExamOnline.Exam()).getQues(paperID, Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesMulti)); //取得多选题 175 DataTable dtQues4 = (new ExamOnline.Exam()).getQues(paperID, Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesOther)); //取得主观题 176 int SingleNum = dtQues1.Rows.Count + dtQues2.Rows.Count; //取得判断题和单选题的题量 177 int MultiNum = dtQues3.Rows.Count; //取得多选题的题量 178 int OtherNum = dtQues4.Rows.Count; //取得主观题的题量 179 //-------------------------------------------------- 180 try 181 { 182 if (SingleNum > 0) //添加判断题和单选题 183 { 184 for (int i = 1; i <= SingleNum; i++) 185 { 186 RadioButtonList rbl = new RadioButtonList(); 187 rbl = (RadioButtonList)panelContext.FindControl("rbl" + i.ToString()); 188 string SingleAnswer = (new ExamOnline.Exam()).getSingleAns(rbl); 189 int qid = (new ExamOnline.Exam()).getQuesID(paperID, i); 190 string strexec = "insert into paper_done(paper_id,stu_id,qid,q_num,answer) "; 191 strexec += "values(" + paperID + ",'" + userID + "'," + qid + "," + i + ",'" + SingleAnswer + "')"; 192 ExamOnline.Exam exam = new ExamOnline.Exam(); 193 exam.exec(strexec); 194 } 195 } 196 if (MultiNum > 0) //添加多选题 197 { 198 for (int i = SingleNum + 1; i <= SingleNum + MultiNum; i++) 199 { 200 CheckBoxList cbl = (CheckBoxList)panelContext.FindControl("cbl" + i.ToString()); 201 string MultiAnswers = (new ExamOnline.Exam()).getMultiAns(cbl); 202 int qid = (new ExamOnline.Exam()).getQuesID(paperID, i); 203 string strexec = "insert into paper_done(paper_id,stu_id,qid,q_num,answer) "; 204 strexec += "values(" + paperID + ",'" + userID + "'," + qid + "," + i + ",'" + MultiAnswers + "')"; 205 ExamOnline.Exam exam = new ExamOnline.Exam(); 206 exam.exec(strexec); 207 } 208 } 209 if (OtherNum > 0) //添加主观题 210 { 211 for (int i = SingleNum + MultiNum + 1; i <= SingleNum + MultiNum + OtherNum; i++) 212 { 213 TextBox tb = (TextBox)panelContext.FindControl("tb" + i.ToString()); 214 string Answer = tb.Text.ToString(); 215 int qid = (new ExamOnline.Exam()).getQuesID(paperID, i); 216 string strexec = "insert into paper_done(paper_id,stu_id,qid,q_num,answer) "; 217 strexec += "values(" + paperID + ",'" + userID + "'," + qid + "," + i + ",'" + Answer + "')"; 218 ExamOnline.Exam exam = new ExamOnline.Exam(); 219 exam.exec(strexec); 220 } 221 } 222 } 223 catch(Exception ee) 224 { 225 ExamOnline.Common.ShowMess(ee.Message); 226 } 227 finally 228 { 229 string strEnd = "update paper_students set stu_state=1 where paper_id='" + hidPaperID.Value + "' and stu_id='" +hidUserID.Value +"'"; 230 (new ExamOnline.Exam()).exec(strEnd); 231 Response.Redirect("end.htm"); 232 } 233 //------------------------------------------------------ 234 } 235} 236
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:Asp.net在线考试系统源码及毕业设计论文
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146