温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:Asp.net在线考试系统源码及毕业设计论文
当前文件:
ExamOnline/Students/exerciseonline.aspx.cs[10K,2009-6-12 11:42:06],打开代码结构图
ExamOnline/Students/exerciseonline.aspx.cs[10K,2009-6-12 11:42:06],打开代码结构图1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Collections; 5
using System.Web; 6
using System.Web.Security; 7
using System.Web.UI; 8
using System.Web.UI.WebControls; 9
using System.Web.UI.WebControls.WebParts; 10
using System.Web.UI.HtmlControls; 11
using System.Web.Script.Services; 12
13
public partial class Students_exerciseonline : System.Web.UI.Page 14
{ 15
protected void Page_Load(object sender, EventArgs e) 16
{ 17
cbShowAnswers.Attributes.Add("onclick", "showAnswers()"); 18
//-------------------------------------------------------- 19
string strCheck = "exercise"; 20
if (Session["checkUser"].ToString() != strCheck.ToString()) 21
{ 22
Response.Redirect("login.aspx"); 23
} 24
//-------------------------------------------------------- 25
if (Page.Request["paperID"] != null) 26
{ 27
int paperID = Convert.ToInt32(Page.Request["paperID"]); 28
lblExercise.Text = (new ExamOnline.Exam()).getCurrentPageTitle(paperID); 29
lblScore.Text = "该练习卷总分:" + (new ExamOnline.Exam()).getQuesScore(paperID).ToString(); 30
31
//---------------------------------------------------------------- 32
//题目生成 33
DataTable dtStyles = (new ExamOnline.Exam()).getStyles(paperID); 34
if (dtStyles.Rows.Count > 0) 35
{ 36
for (int i = 0; i < dtStyles.Rows.Count; i++) 37
{ 38
int styles = Convert.ToInt32(dtStyles.Rows[i][0]); 39
if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesJudge)) //判断题 40
{ 41
Label lblStyles = new Label(); 42
lblStyles.Text = "<br>判断题:<br>"; 43
lblStyles.Font.Bold = true; 44
panelContext.Controls.Add(lblStyles); 45
46
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 47
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 48
int qnumAll = dtQues.Rows.Count; //题型的题目总量 49
50
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 51
{ 52
Literal litTitle = new Literal(); //题目标题 53
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 54
55
Literal litAn = new Literal(); //题目正确答案 56
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID,qnum); 57
panelAnswers.Controls.Add(litAn); 58
59
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 60
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 61
RadioButtonList rbl = new RadioButtonList(); 62
rbl.RepeatDirection = RepeatDirection.Horizontal; 63
rbl.ID = "rbl" + qnum.ToString(); 64
for (int j = 0; j <= optionsAll - 1; j++) 65
{ 66
string strABC = Convert.ToString(dtOptions.Rows[j][0]); 67
string strOption = Convert.ToString(dtOptions.Rows[j][1]); 68
ListItem li = new ListItem(); 69
li.Value = strABC; 70
li.Text = strABC + "、" + strOption; 71
rbl.Items.Add(li); 72
} 73
panelContext.Controls.Add(litTitle); 74
panelContext.Controls.Add(rbl); 75
} 76
77
} 78
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesSingle)) //单选题 79
{ 80
Label lblStyles = new Label(); 81
lblStyles.Text = "<br>单选题:<br>"; 82
lblStyles.Font.Bold = true; 83
panelContext.Controls.Add(lblStyles); 84
85
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 86
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 87
int qnumAll = dtQues.Rows.Count; //题型的题目总量 88
89
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 90
{ 91
Literal litTitle = new Literal(); 92
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 93
94
Literal litAn = new Literal(); //题目正确答案 95
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID, qnum); 96
panelAnswers.Controls.Add(litAn); 97
98
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 99
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 100
RadioButtonList rbl = new RadioButtonList(); 101
rbl.ID = "rbl" + qnum.ToString(); 102
for (int j = 0; j <= optionsAll - 1; j++) 103
{ 104
string strABC = Convert.ToString(dtOptions.Rows[j][0]); 105
string strOption = Convert.ToString(dtOptions.Rows[j][1]); 106
ListItem li = new ListItem(); 107
li.Value = strABC; 108
li.Text = strABC + "、" + strOption; 109
rbl.Items.Add(li); 110
} 111
panelContext.Controls.Add(litTitle); 112
panelContext.Controls.Add(rbl); 113
} 114
} 115
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesMulti)) //多选题 116
{ 117
Label lblStyles = new Label(); 118
lblStyles.Text = "<br>多选题:<br>"; 119
lblStyles.Font.Bold = true; 120
panelContext.Controls.Add(lblStyles); 121
122
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 123
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 124
int qnumAll = dtQues.Rows.Count; //题型的题目总量 125
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 126
{ 127
Literal litTitle = new Literal(); 128
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 129
130
Literal litAn = new Literal(); //题目正确答案 131
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID, qnum); 132
panelAnswers.Controls.Add(litAn); 133
134
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum); 135
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量 136
CheckBoxList cbl = new CheckBoxList(); 137
cbl.ID = "cbl" + qnum.ToString(); 138
for (int j = 0; j <= optionsAll - 1; j++) 139
{ 140
string strABC = Convert.ToString(dtOptions.Rows[j][0]); 141
string strOption = Convert.ToString(dtOptions.Rows[j][1]); 142
ListItem li = new ListItem(); 143
li.Value = strABC; 144
li.Text = strABC + "、" + strOption; 145
cbl.Items.Add(li); 146
} 147
panelContext.Controls.Add(litTitle); 148
panelContext.Controls.Add(cbl); 149
} 150
} 151
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesOther)) //主观题 152
{ 153
Label lblStyles = new Label(); 154
lblStyles.Text = "<br>主观题:<br>"; 155
lblStyles.Font.Bold = true; 156
panelContext.Controls.Add(lblStyles); 157
158
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles); 159
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号 160
int qnumAll = dtQues.Rows.Count; //题型的题目总量 161
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++) 162
{ 163
Literal litTitle = new Literal(); 164
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>"; 165
166
Literal litAn = new Literal(); //题目正确答案 167
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getAnswer(paperID, qnum); 168
panelAnswers.Controls.Add(litAn); 169
string strAnswer = (new ExamOnline.Exam()).getAnswer(paperID, qnum); 170
TextBox tb = new TextBox(); 171
tb.TextMode = TextBoxMode.MultiLine; 172
tb.Width = 600; 173
tb.Height = 80; 174
tb.ID = "tb" + qnum.ToString(); 175
panelContext.Controls.Add(litTitle); 176
panelContext.Controls.Add(tb); 177
} 178
} 179
} 180
} 181
} 182
//题目生成结束 183
//------------------------------------------------------------------------------------------- 184
} 185
} 186






}
}