📄 exerciseonline.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Script.Services;
public partial class Students_exerciseonline : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
cbShowAnswers.Attributes.Add("onclick", "showAnswers()");
//--------------------------------------------------------
string strCheck = "exercise";
if (Session["checkUser"].ToString() != strCheck.ToString())
{
Response.Redirect("login.aspx");
}
//--------------------------------------------------------
if (Page.Request["paperID"] != null)
{
int paperID = Convert.ToInt32(Page.Request["paperID"]);
lblExercise.Text = (new ExamOnline.Exam()).getCurrentPageTitle(paperID);
lblScore.Text = "该练习卷总分:" + (new ExamOnline.Exam()).getQuesScore(paperID).ToString();
//----------------------------------------------------------------
//题目生成
DataTable dtStyles = (new ExamOnline.Exam()).getStyles(paperID);
if (dtStyles.Rows.Count > 0)
{
for (int i = 0; i < dtStyles.Rows.Count; i++)
{
int styles = Convert.ToInt32(dtStyles.Rows[i][0]);
if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesJudge)) //判断题
{
Label lblStyles = new Label();
lblStyles.Text = "<br>判断题:<br>";
lblStyles.Font.Bold = true;
panelContext.Controls.Add(lblStyles);
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles);
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号
int qnumAll = dtQues.Rows.Count; //题型的题目总量
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++)
{
Literal litTitle = new Literal(); //题目标题
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>";
Literal litAn = new Literal(); //题目正确答案
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID,qnum);
panelAnswers.Controls.Add(litAn);
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum);
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量
RadioButtonList rbl = new RadioButtonList();
rbl.RepeatDirection = RepeatDirection.Horizontal;
rbl.ID = "rbl" + qnum.ToString();
for (int j = 0; j <= optionsAll - 1; j++)
{
string strABC = Convert.ToString(dtOptions.Rows[j][0]);
string strOption = Convert.ToString(dtOptions.Rows[j][1]);
ListItem li = new ListItem();
li.Value = strABC;
li.Text = strABC + "、" + strOption;
rbl.Items.Add(li);
}
panelContext.Controls.Add(litTitle);
panelContext.Controls.Add(rbl);
}
}
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesSingle)) //单选题
{
Label lblStyles = new Label();
lblStyles.Text = "<br>单选题:<br>";
lblStyles.Font.Bold = true;
panelContext.Controls.Add(lblStyles);
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles);
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号
int qnumAll = dtQues.Rows.Count; //题型的题目总量
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++)
{
Literal litTitle = new Literal();
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>";
Literal litAn = new Literal(); //题目正确答案
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID, qnum);
panelAnswers.Controls.Add(litAn);
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum);
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量
RadioButtonList rbl = new RadioButtonList();
rbl.ID = "rbl" + qnum.ToString();
for (int j = 0; j <= optionsAll - 1; j++)
{
string strABC = Convert.ToString(dtOptions.Rows[j][0]);
string strOption = Convert.ToString(dtOptions.Rows[j][1]);
ListItem li = new ListItem();
li.Value = strABC;
li.Text = strABC + "、" + strOption;
rbl.Items.Add(li);
}
panelContext.Controls.Add(litTitle);
panelContext.Controls.Add(rbl);
}
}
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesMulti)) //多选题
{
Label lblStyles = new Label();
lblStyles.Text = "<br>多选题:<br>";
lblStyles.Font.Bold = true;
panelContext.Controls.Add(lblStyles);
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles);
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号
int qnumAll = dtQues.Rows.Count; //题型的题目总量
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++)
{
Literal litTitle = new Literal();
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>";
Literal litAn = new Literal(); //题目正确答案
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getSelectAnswer(paperID, qnum);
panelAnswers.Controls.Add(litAn);
DataTable dtOptions = (new ExamOnline.Exam()).getOptions(paperID, qnum);
int optionsAll = Convert.ToInt32(dtOptions.Rows.Count); //取得选项的数量
CheckBoxList cbl = new CheckBoxList();
cbl.ID = "cbl" + qnum.ToString();
for (int j = 0; j <= optionsAll - 1; j++)
{
string strABC = Convert.ToString(dtOptions.Rows[j][0]);
string strOption = Convert.ToString(dtOptions.Rows[j][1]);
ListItem li = new ListItem();
li.Value = strABC;
li.Text = strABC + "、" + strOption;
cbl.Items.Add(li);
}
panelContext.Controls.Add(litTitle);
panelContext.Controls.Add(cbl);
}
}
else if (styles == Convert.ToInt32(ExamOnline.examEnum.quesStyles.quesOther)) //主观题
{
Label lblStyles = new Label();
lblStyles.Text = "<br>主观题:<br>";
lblStyles.Font.Bold = true;
panelContext.Controls.Add(lblStyles);
DataTable dtQues = (new ExamOnline.Exam()).getQues(paperID, styles);
int qnumStart = Convert.ToInt32(dtQues.Rows[0][0]); //该题型的题目的开始序号
int qnumAll = dtQues.Rows.Count; //题型的题目总量
for (int qnum = qnumStart; qnum < qnumStart + qnumAll; qnum++)
{
Literal litTitle = new Literal();
litTitle.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + Server.HtmlEncode(Convert.ToString(dtQues.Rows[qnum - qnumStart][2])) + "<br>";
Literal litAn = new Literal(); //题目正确答案
litAn.Text = "<br>" + Convert.ToString(dtQues.Rows[qnum - qnumStart][0]) + "、" + (new ExamOnline.Exam()).getAnswer(paperID, qnum);
panelAnswers.Controls.Add(litAn);
string strAnswer = (new ExamOnline.Exam()).getAnswer(paperID, qnum);
TextBox tb = new TextBox();
tb.TextMode = TextBoxMode.MultiLine;
tb.Width = 600;
tb.Height = 80;
tb.ID = "tb" + qnum.ToString();
panelContext.Controls.Add(litTitle);
panelContext.Controls.Add(tb);
}
}
}
}
}
//题目生成结束
//-------------------------------------------------------------------------------------------
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -