ASP.NET考试系统考试提交后不跳转,如果正确就不显示,如果错误就显示正确答案在题目的旁边。怎么实现的!考试题目答错后,显示正确答案代码怎么写,写在什么地方?

问题描述

由于字数的问题我只写了单选题if(!IsPostBack){if(Session["power"]==null){Response.Write("<script>alert("对不起,您还未登录!");</script>");Response.Write("<script>window.location.href='announcement.aspx';</script>");return;}if(Request.QueryString["ID"]==null){Response.Redirect("announcement.aspx");return;}Session["mainsrc"]=Request.Url.ToString();}if(Session["exam"]==null){if(!readQuestions())return;}createPaper();}protectedvoidButton1_Click(objectsender,EventArgse){if(Session["exam"]==null){ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("当前会话已超时,请重新登录考试!");</script>");return;}DataSetds=(DataSet)Session["exam"];intscore=0;for(inti=0;i<ds.Tables["questions"].Rows.Count;i++){if(ds.Tables["questions"].Rows[i]["题型"].ToString()=="单选题"){if(ds.Tables["questions"].Rows[i]["答案"].ToString()==((RadioButtonList)table1.FindControl(ds.Tables["questions"].Rows[i]["ID"].ToString())).SelectedValue)score+=Convert.ToInt32(ds.Tables["exam"].Rows[0]["单选分"]);}if(ds.Tables["questions"].Rows[i]["题型"].ToString()=="多选题"){boolflag=false;stringtemp="";for(intj=0;j<((CheckBoxList)table1.FindControl(ds.Tables["questions"].Rows[i]["ID"].ToString())).Items.Count;j++){if(((CheckBoxList)table1.FindControl(ds.Tables["questions"].Rows[i]["ID"].ToString())).Items[j].Selected){if(flag)temp+=","+((CheckBoxList)table1.FindControl(ds.Tables["questions"].Rows[i]["ID"].ToString())).Items[j].Value;else{flag=true;temp+=((CheckBoxList)table1.FindControl(ds.Tables["questions"].Rows[i]["ID"].ToString())).Items[j].Value;}}}if(temp==ds.Tables["questions"].Rows[i]["答案"].ToString())score+=Convert.ToInt32(ds.Tables["exam"].Rows[0]["多选分"]);}}stringsqlStr="";if(ds.Tables["exam"].Rows[0]["考试科目"].ToString()=="英语考试".ToString())sqlStr="insertintofxq_examvalues("+ds.Tables["exam"].Rows[0]["ID"].ToString()+","+Session["ID"].ToString()+","+score.ToString()+")";elseif(ds.Tables["exam"].Rows[0]["考试科目"].ToString()=="数学考试")sqlStr="insertintohl_examvalues("+ds.Tables["exam"].Rows[0]["ID"].ToString()+","+Session["ID"].ToString()+","+score.ToString()+")";elsesqlStr="insertintofg_examvalues("+ds.Tables["exam"].Rows[0]["ID"].ToString()+","+Session["ID"].ToString()+","+score.ToString()+")";SqlCommandcmd=newSqlCommand(sqlStr,conn);try{conn.Open();cmd.ExecuteNonQuery();conn.Close();}catch(Exceptionex){ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("SORRY,录入考试成绩时出错!");</script>");return;}finally{conn.Close();}Session["exam"]=null;Response.Redirect("oneself_fraction.aspx");}protectedboolreadQuestions(){DataSetds=newDataSet();stringsqlStr="select*fromexam_tbwhereID="+Request.QueryString["ID"].ToString();SqlDataAdapterad=newSqlDataAdapter(sqlStr,conn);try{conn.Open();ad.Fill(ds,"exam");conn.Close();}catch(Exceptionex){ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("读取考试信息出错!");</script>");returnfalse;}finally{conn.Close();}if(ds.Tables["exam"].Rows[0]["考试科目"].ToString()=="英语考试")sqlStr="select*fromfxq_examwhere考试号="+Request.QueryString["ID"].ToString()+"and证件号码="+Session["ID"].ToString();elseif(ds.Tables["exam"].Rows[0]["考试科目"].ToString()=="数学考试")sqlStr="select*fromhl_examwhere考试号="+Request.QueryString["ID"].ToString()+"and证件号码="+Session["ID"].ToString();elsesqlStr="select*fromfg_examwhere考试号="+Request.QueryString["ID"].ToString()+"and证件号码="+Session["ID"].ToString();SqlCommandcmd=newSqlCommand(sqlStr,conn);try{conn.Open();SqlDataReaderread=cmd.ExecuteReader();if(read.Read()){conn.Close();ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("您已进行过考试!");document.location.href='announcement.aspx';</script>");returnfalse;}conn.Close();}catch(Exceptionex){ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("读取考试信息出错!");</script>");returnfalse;}finally{conn.Close();}Label1.Text=ds.Tables["exam"].Rows[0]["ID"].ToString();Label2.Text=ds.Tables["exam"].Rows[0]["考试科目"].ToString();Label3.Text=ds.Tables["exam"].Rows[0]["考试名称"].ToString();Label4.Text=Session["ID"].ToString();Label5.Text=Session["uname"].ToString();Label6.Text=(Convert.ToInt32(ds.Tables["exam"].Rows[0]["时间"])*60).ToString();if(Convert.ToInt32(ds.Tables["exam"].Rows[0]["单选"])>0){sqlStr="selecttop"+ds.Tables["exam"].Rows[0]["单选"]+"*fromquestions_tbwhere题型='单选题'orderbynewid()";ad=newSqlDataAdapter(sqlStr,conn);try{conn.Open();ad.Fill(ds,"questions");conn.Close();}catch(Exceptionex){ClientScript.RegisterStartupScript(this.GetType(),"error","<script>alert("读取题库出错!");</script>");returnfalse;}finally{conn.Close();}}Session["exam"]=ds;returntrue;}protectedvoidcreatePaper()//开始生成试卷页面{DataSetds=(DataSet)Session["exam"];DataRow[]single=ds.Tables["questions"].Select("题型='单选题'");HtmlTableRowtitle;HtmlTableCellcell;if(single.Length>0){cell=newHtmlTableCell();title=newHtmlTableRow();cell.ColSpan=2;cell.Style.Add("font-weight","bold");cell.Style.Add("text-align","left");cell.InnerHtml="单选题(共"+single.Length+"题,每题"+ds.Tables["exam"].Rows[0]["单选分"].ToString()+"分)";title.Cells.Add(cell);table1.Rows.Add(title);for(inti=0;i<single.Length;i++){HtmlTableRowrow1=newHtmlTableRow();HtmlTableCellcell1=newHtmlTableCell();cell1.Style.Add("width","30px");cell1.Style.Add("text-align","center");cell1.InnerHtml=(i+1).ToString();HtmlTableCellcell2=newHtmlTableCell();cell2.Style.Add("text-align","left");cell2.InnerHtml=single[i]["题目"].ToString();row1.Cells.Add(cell1);row1.Cells.Add(cell2);HtmlTableRowrow2=newHtmlTableRow();HtmlTableCellcell3=newHtmlTableCell();cell3.Style.Add("width","30px");cell3.InnerHtml="&nbsp;";HtmlTableCellcell4=newHtmlTableCell();cell4.Style.Add("text-align","left");RadioButtonListlist=newRadioButtonList();list.ID=single[i]["ID"].ToString();list.Width=Unit.Pixel(550);ListIteml1=newListItem("A."+single[i]["A"].ToString(),"A");ListIteml2=newListItem("B."+single[i]["B"].ToString(),"B");ListIteml3=newListItem("C."+single[i]["C"].ToString(),"C");ListIteml4=newListItem("D."+single[i]["D"].ToString(),"D");list.Items.Add(l1);list.Items.Add(l2);list.Items.Add(l3);list.Items.Add(l4);cell4.Controls.Add(list);row2.Cells.Add(cell3);row2.Cells.Add(cell4);table1.Rows.Add(row1);table1.Rows.Add(row2);}}}}}

解决方案

解决方案二:
不看你的代码,大概思路就是放个隐藏的Label之类的,有错误就把Label显示,Label存放正确答案。
解决方案三:
同意楼上说的。把正确答案放到一个Label里面,这个Label是处于隐藏的状态,当用户回答完问题点提交之后,就判断用户选择的答案与正确答案是否一致。如果一致的话加载下一题的内容,并把下一题的正确答案放到Label里面。如果答案不正确的话就提示错误,再把label显示出来。用户点击下一题之后再把label隐藏,然后加载下一题的内容。
解决方案四:
用不用保存试卷啊?隐藏label怎么着?
解决方案五:
隐蔽label怎么写啊?
解决方案六:
label.visiable=false;
解决方案七:
label就可以完全搞定了,很简单的。

时间: 2024-10-07 01:30:13

ASP.NET考试系统考试提交后不跳转,如果正确就不显示,如果错误就显示正确答案在题目的旁边。怎么实现的!考试题目答错后,显示正确答案代码怎么写,写在什么地方?的相关文章

jsp考试系统关于提交处理

问题描述 关于考试系统性能探索现做了一个jsp的考试系统,试卷是通过规则直接从题库中抽题生成.考试结束交卷时将学生id,试卷id,题目id,选项id保存到一张表中.问题:如果试卷题目比较多,参加考试的学生有几百人,那同时交卷的时候,数据库是否承载得起?用什么方法可以减轻同时交卷时数据库的压力,提高同时交卷的速度? 解决方案 解决方案二:分步提交啊.比方说每选一题,提交一次.修改题目答案了,再提交一次.全部人最后一次性提交,那肯定会有问题.解决方案三:不好.分步提交降低了效率,而且,没有从根本上解

c++-求大神帮我把这机构化的C++程序改成C++面向对象的程序,有酬谢(单项选择题标准化考试系统)

问题描述 求大神帮我把这机构化的C++程序改成C++面向对象的程序,有酬谢(单项选择题标准化考试系统) #include<stdio.h>#include<stdlib.h>//应用动态存储分配函数//#include<time.h># define LEN sizeof(struct question)struct question{ char ask[200];//选择题题目// char answer[4][80];//选择题选项每个答案的长度// int rig

string-在线考试系统,这段代码是工具栏上的,现在要按钮的,怎么写

问题描述 在线考试系统,这段代码是工具栏上的,现在要按钮的,怎么写 private void toolStripButton6_Click(object sender, EventArgs e) { // string str = "Password=123456789;Persist Security Info=True;User ID=sa;Initial Catalog=学生成绩管理系统;Data Source=FLQ-PCSQLEXPRESS"; // SqlConnectio

用ASP实现网上考试系统

随着互连网技术的发展网上教学将成为人们接受再教育和终身教育的主要形式.在网上学校中,人们可以不受时间和空间的限制,随时随地选学任何地方的任何课程.网上学校的发展对网上考试的发展提出了迫切的要求.这里是我用Asp和Access数据库实现的一个网上考试系统.当用户凭用户名和口令登录时,系统首先检查该用户是否已参加过考试,若是则进行成绩查询,若否则从题库中提取考题供用户解答.等用户提交答卷后,系统进行评分并将成绩登记入库. 一. 数据库设计 首先建立一数据库exercise.mdb,其中包括两个表:u

用ASP开发一个在线考试系统

在线 本文所介绍的应用程序是以ASP编程的初学者为读者的.虽然这个例子非常简单,但是它对于那些试图在线对他们的雇员.学生或客户进行考试的组织是非常有用的. 关于这个应用程序 我们的应用程序中的第一个界面包含在index.asp 中,由一个注册页组成,其中有两个输入域,一个是用户名,另一个是口令.非会员要想参加考试的话必须要注册.这一页是初始屏幕,为用户提供用户名和口令的输入框. 开发一个在线考试系统-asp在线考试系统"> 需要注意的是,这两个将要批准的会员域应该有客户机端的JavaScr

用ASP开发试题库与在线考试系统

  摘 要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序.它运用方便.操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入.修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题.组卷和改卷等繁重的工作量. 引 言 现阶段,学校与社会上的各种

asp网上考试系统代码分析

网上考试 随着互连网技术的发展网上教学将成为人们接受再教育和终身教育的主要形式.在网上学校中,人们可以不受时间和空间的限制,随时随地选学任何地方的任何课程.网上学校的发展对网上考试的发展提出了迫切的要求.这里是我用Asp和Access数据库实现的一个网上考试系统.当用户凭用户名和口令登录时,系统首先检查该用户是否已参加过考试,若是则进行成绩查询,若否则从题库中提取考题供用户解答.等用户提交答卷后,系统进行评分并将成绩登记入库. 一. 数据库设计 首先建立一数据库exercise.mdb,其中包括

求asp.net做的在线考试系统!!

问题描述 各位大神们希望能帮一下忙 解决方案 解决方案二:自己做吧,骚年,网上可以找一些基本的实现原理,不过实现还是最好自己来弄,没有坏处解决方案三:去这里观摩一下,http://www.wsbst.net/JKHome.html解决方案四:自己做安全无污染解决方案五:下载一个修修改改就可以做毕业设计了解决方案六:引用1楼yangmingxing980的回复: 自己做吧,骚年,网上可以找一些基本的实现原理,不过实现还是最好自己来弄,没有坏处 自己在写了,但是防作弊功能我无法实现啊,我的考试系统是

用ASP开发试题库与在线考试系统(1)

摘 要 利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序.它运用方便.操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入.修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题.组卷和改卷等繁重的工作量. 引 言 现阶段,学校与社会上的各种考