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

📄 usertest.aspx.cs

📁 基于Asp.net三层结构的在线考试系统
💻 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 OnLineExam.DataAccessLayer;
using System.Data.SqlClient;
using OnLineExam.BusinessLogicLayer;

public partial class Web_UserTest : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            labUser.Text = Session["userID"].ToString();           
            imgBtnSubmit.Attributes.Add("OnClick", "javascript:return confirm('确实要交卷吗?')");
            lblPaperName.Text = Session["PaperName"].ToString();
            InitData();
        }
    }
    //初始化试卷,从数据库中将试题取出
    protected void InitData()
    {
        SqlParameter[] Params1 = new SqlParameter[2];
        DataBase DB = new DataBase();
        int paperID = int.Parse(Session["PaperID"].ToString());
        Params1[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID);               //试卷编号
        Params1[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "单选题");            //题目类型        
        DataSet ds1 = DB.GetDataSet("Proc_PaperDetail",Params1);
        GridView1.DataSource = ds1;
        GridView1.DataBind();
       ((Label)GridView1.HeaderRow.FindControl("Label27")).Text = ((Label)GridView1.Rows[0].FindControl("Label4")).Text;

        SqlParameter[] Params2 = new SqlParameter[2];        
        Params2[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID);               //试卷编号
        Params2[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "多选题");            //题目类型        
        DataSet ds2 = DB.GetDataSet("Proc_PaperDetail", Params2);
        GridView2.DataSource = ds2;
        GridView2.DataBind();
        ((Label)GridView2.HeaderRow.FindControl("Label28")).Text = ((Label)GridView2.Rows[0].FindControl("Label8")).Text;

        SqlParameter[] Params3 = new SqlParameter[2];
        Params3[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID);               //试卷编号
        Params3[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "判断题");            //题目类型        
        DataSet ds3 = DB.GetDataSet("Proc_PaperDetail", Params3);
        GridView3.DataSource = ds3;
        GridView3.DataBind();
        ((Label)GridView3.HeaderRow.FindControl("Label29")).Text = ((Label)GridView3.Rows[0].FindControl("Label12")).Text;

        SqlParameter[] Params4 = new SqlParameter[2];
        Params4[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID);               //试卷编号
        Params4[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "填空题");            //题目类型        
        DataSet ds4 = DB.GetDataSet("Proc_PaperDetail", Params4);
        GridView4.DataSource = ds4;
        GridView4.DataBind();
        ((Label)GridView4.HeaderRow.FindControl("Label30")).Text = ((Label)GridView4.Rows[0].FindControl("Label17")).Text;

        SqlParameter[] Params5 = new SqlParameter[2];
        Params5[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID);               //试卷编号
        Params5[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "问答题");            //题目类型        
        DataSet ds5 = DB.GetDataSet("Proc_PaperDetail", Params5);
        GridView5.DataSource = ds5;
        GridView5.DataBind();
        ((Label)GridView5.HeaderRow.FindControl("Label31")).Text = ((Label)GridView5.Rows[0].FindControl("Label37")).Text;
    }
    //提交试卷
    protected void imgBtnSubmit_Click(object sender, ImageClickEventArgs e)
    {
        int paperid = Convert.ToInt32(Session["PaperID"].ToString()); 
        DataBase db = new DataBase();
        int singlemark = int.Parse(((Label)GridView1.Rows[0].FindControl("Label4")).Text);//取出单选题的每题分值
        foreach (GridViewRow dr in GridView1.Rows)
        {
            string str = "";
            if (((RadioButton)dr.FindControl("RadioButton1")).Checked)
            {
                str = "A";
            }
            else if (((RadioButton)dr.FindControl("RadioButton2")).Checked)
            {
                str = "B";
            }
            else if (((RadioButton)dr.FindControl("RadioButton3")).Checked)
            {
                str = "C";
            }
            else if (((RadioButton)dr.FindControl("RadioButton4")).Checked)
            {
                str = "D";
            }
         
            int titleid = int.Parse(((Label)dr.FindControl("Label40")).Text);  
            string single = "insert into UserAnswer(UserID,PaperID,Type,TitleID,Mark,UserAnswer,ExamTime) values('" + labUser.Text + "','" + paperid + "','单选题','" + titleid + "','"+singlemark+"','" + str + "','" + DateTime.Now.ToString() + "')";
            db.Insert(single);
        }
        int multimark = int.Parse(((Label)GridView2.Rows[0].FindControl("Label8")).Text);//取出多选题每题分值
        foreach (GridViewRow dr in GridView2.Rows)//对多选题每题进行判断用户选择答案
        {
            string str = "";
            if (((CheckBox)dr.FindControl("CheckBox1")).Checked)
            {
                str += "A";
            }
            if (((CheckBox)dr.FindControl("CheckBox2")).Checked)
            {
                str += "B";
            }
            if (((CheckBox)dr.FindControl("CheckBox3")).Checked)
            {
                str += "C";
            }
            if (((CheckBox)dr.FindControl("CheckBox4")).Checked)
            {
                str += "D";
            }
            int titleid = int.Parse(((Label)dr.FindControl("Label41")).Text);   
            string Multi = "insert into UserAnswer(UserID,PaperID,Type,TitleID,Mark,UserAnswer,ExamTime) values('" + labUser.Text+ "','" +paperid+ "','多选题','" + titleid + "','"+multimark+"','" + str + "','" + DateTime.Now.ToString() + "')";
            db.Insert(Multi);
        }
        int judgemark = int.Parse(((Label)GridView3.Rows[0].FindControl("Label12")).Text);//取出判断题每题分值
        foreach (GridViewRow dr in GridView3.Rows)//对判断题每题进行判断用户选择答案
        {
            string str= Convert.ToString(false);
            if (((CheckBox)dr.FindControl("CheckBox5")).Checked)
            {
                str = Convert.ToString(true);
            }
            int titleid = int.Parse(((Label)dr.FindControl("Label42")).Text);
            string Judge = "insert into UserAnswer(UserID,PaperID,Type,TitleID,Mark,UserAnswer,ExamTime) values('"+labUser.Text+"','"+paperid+"','判断题','"+titleid+"','"+judgemark+"','"+str+"','"+DateTime.Now.ToString()+"')";
            db.Insert(Judge);
        }
        int fillmark = int.Parse(((Label)GridView4.Rows[0].FindControl("Label17")).Text);//取出填空题每题分值
        foreach (GridViewRow dr in GridView4.Rows)
        {
            string str = "";
            str = ((TextBox)dr.FindControl("TextBox1")).Text.Trim();
            int titleid = int.Parse(((Label)dr.FindControl("Label43")).Text);
            string Fill = "insert into UserAnswer(UserID,PaperID,Type,TitleID,Mark,UserAnswer,ExamTime) values('" + labUser.Text + "','" + paperid + "','填空题','" + titleid + "','" + fillmark + "','" + str + "','" + DateTime.Now.ToString() + "')";
            db.Insert(Fill);
        }

        int quemark = int.Parse(((Label)GridView5.Rows[0].FindControl("Label37")).Text);//取出问答题每题分值
        foreach (GridViewRow dr in GridView5.Rows)
        {
            string str = "";
            str = ((TextBox)dr.FindControl("TextBox2")).Text.Trim();
            int titleid = int.Parse(((Label)dr.FindControl("Label44")).Text);
            string Que = "insert into UserAnswer(UserID,PaperID,Type,TitleID,Mark,UserAnswer,ExamTime) values('" + labUser.Text + "','" + paperid + "','问答题','" + titleid + "','" + quemark+ "','" + str + "','" + DateTime.Now.ToString() + "')";
            db.Insert(Que);
        }
        Response.Write("<script language=javascript>alert('试卷提交成功!');location='StudentIndex.aspx'</script>");
       
    }
   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -