⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exerciseonline.aspx.cs

📁 用asp写的程序,在线考试系统,功能齐全,是一个非常好用的系统
💻 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 + -