ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:3.23MB ,
资源ID:837383      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-837383.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ASPNET在线考试系统课程实训.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

基于ASPNET在线考试系统课程实训.doc

1、目录:1、设计题目12、背景与目的13、开发环境与开发工具14、主要功能15、数据库设计与实现16、系统的详细设计26.1、登陆页面26.2、考试页面46.3、评阅页面96.4、管理页面137、总结15ACM国际学院入学考试系统1、设计题目ACM国际学院入学考试系统。2、背景与目的ASP.NET Web课程设计是本学期的一本很重要的专业课,本次课程设计就是为了检测本学期对这本书的掌握情况。本次课程设计也将作为期末考评。“ACM国际学院入学考试系统”主要针对大一新生的入学考试。3、开发环境与开发工具网站开发环境:Microsoft Visual Studio 2008集成开发环境。网站开发语言:

2、C#。数据库:Microsoft SQL Server 2005数据库。开发环境运行平台:Windows Server 2008。测试软件:Windows Installer Explorer 9、360极速浏览器。4、主要功能主要实现了在线考试,在线阅卷,以及简单的登录功能、注册功能和基本的增删查改的功能。5、数据库设计数据库(ksxt)表:学生表(ksxt_student)教师表(ksxt_teacher)管理员表(ksxt_ad)题库表试卷表成绩表其他表:网站表,用来存储页面属性,如title6、系统的详细设计6.1、登陆页面登陆页面功能:用户输入账号密码并选择类型后点击登陆,若密码正确

3、,则跳转对应页面。本系统一个三种用户:学生,主要实现考试功能;教师,主要实现评阅试卷和查询学生成绩的功能;管理员,主要实现用户注册,用户管理和对试卷的更新,添加和删除功能。登陆页面特色:页面采用CSS+DIV布局,可实现登陆框的垂直水平居中,页面标题可以在数据库中修改。未采用MultiView控件,通过代码验证用户类型。核心代码:/布局 bodymargin: 0px; #bjtposition: absolute;width: 100%;height: 212px;top: 50%;margin-top: -106px;border: solid 0px red;background-col

4、or: #FFF;/背景条 #dlkposition: absolute; width: 500px; height: 200px; left: 50%; margin-left: -250px; border: 3px dashed #630; padding: 3px;/登录框protected void Page_Load(object sender, EventArgs e)this.MaintainScrollPositionOnPostBack = true;if (!IsPostBack)SqlConnection con = new SqlConnection();con.Co

5、nnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStringsloc.ToString();con.Open();SqlCommand com = new SqlCommand(select 内容 from 网站 where 元素=title, con);SqlDataReader dr = com.ExecuteReader();if (dr.Read()Sessionxt = Convert.ToString(dr内容).Replace(, );/给标题赋值Sessionbt = t.T

6、ext = Convert.ToString(dr内容);Label1.Text = Convert.ToString(dr内容).Replace(, );con.Close();t.Text = Convert.ToString(Sessionbt);/给标题赋值protected void denglu_Click(object sender, EventArgs e)/登陆按钮 string yhlxsv = yhlx.SelectedValue; SqlConnection con = new SqlConnection(); con.ConnectionString = System

7、.Web.Configuration.WebConfigurationManager.ConnectionStringsloc. ToString(); con.Open(); SqlCommand com = null; switch (yhlxsv)/验证用户类型,调用对应查询语句 case 学生: com = new SqlCommand(select 姓名 from ksxt_student where 学号= + yhzh.Text.Trim() + and 密码= + yhmm.Text.Trim() + , con); break; case 教师: com = new SqlC

8、ommand(select 姓名 from ksxt_teacher where 教号= + yhzh.Text.Trim() + and 密码= + yhmm.Text.Trim() + , con); break; case 管理员: com = new SqlCommand(select 姓名 from ksxt_ad where 管号= + yhzh.Text.Trim() + and 密码= + yhmm.Text.Trim() + , con); break; SqlDataReader dr = com.ExecuteReader(); if (dr.Read() Session

9、xm = dr姓名; Sessionlx = yhlxsv; Sessionxh = yhzh.Text.Trim(); switch (yhlxsv)/验证用户类型,跳转对应页面 case 学生: Response.Redirect(/ksxt/studentpages/kaoshi.aspx); break; case 教师: Response.Redirect(/ksxt/teacherpages/pingyue.aspx); break; case 管理员: Response.Redirect(/ksxt/adpages/guanli.aspx); break; else Page.R

10、egisterStartupScript(, alert(账号或密码错误!); con.Close();6.2、考试页面考试页面功能:学生用户进入页面,会显示用户“类型”、“姓名”和“时间”;当用户点击“开始考试”后会出现“题型”、“重置”、“交卷”按钮和通过“题库表”动态生成的试题,在动态生成的试题前会删除该用户上次的试卷,然后把新试题存入“试卷表”中,每题限时2分钟。点击“交卷”弹出话框,只有完全答题后点“是”才能把答案更新到“试卷表”的“学生答案”字段中。考试页面特色:页面采用CSS+DIV布局,可实现登陆框的垂直水平居中,页面标题可以在数据库中修改;随机出题,随机打乱选项;并对Wiza

11、rd控件重新编辑,可实现Wizard、View和RadioButtonList联动,有时间限制。核心代码:/背景条 /显示代码document.write() /日期容器 setInterval(labTime.innerText=new Date().toLocaleString(),1000)/每1000毫秒执行一次=0)minutes = Math.floor(maxtime/60);seconds = Math.floor(maxtime%60);msg = minutes+分+seconds+秒;document.alltimer.innerHTML=msg;if(maxtime =

12、 1*10) alert(注意,还有10秒,10秒后退出系统!);-maxtime;elseClearInterval(timer);alert(时间到,考试结束,将返回登陆页面!);location.href=/ksxt/index.aspx;timer = setInterval(CountDown(),1000);-protected void Page_Load(object sender, EventArgs e) this.MaintainScrollPositionOnPostBack = true; if (!IsPostBack) Page.RegisterStartupSc

13、ript(, alert(如果你已经考试过了,会清空原有记录!); xh = Convert.ToString(Sessionxh); Label1.Text = Convert.ToString(Sessionxm); if (Label1.Text.Trim() = )/如果没登陆,则Label1无值,页面会跳转首页 Response.Write(alert(请登录!);location.href=/ksxt/index.aspx;); Label2.Text = Convert.ToString(Sessionlx); Label3.Text = , + Convert.ToString

14、(Sessionxt); t.Text = Convert.ToString(Sessionbt);/给标题赋值protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) MultiView1.ActiveViewIndex = RadioButtonList1.SelectedIndex;/RadioButtonList与MultiView的联动protected void Button1_Click(object sender, EventArgs e)/开始考试按钮 Response.W

15、rite(alert(每道题限时30秒,超出后考试结束!);); SqlConnection con = new SqlConnection(); con.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStringsloc. ToString(); con.Open(); SqlCommand SC = new SqlCommand(delete from 试卷 where 学号 = + xh + , con);/删除该用户做的题SqlCommand XZT1 = new SqlCom

16、mand(insert into 试卷 select top 5 + xh + ,编号,类型,题目,选项1,选项2,选项3,选项4,答案,from 题库 where 类型 = 选择1order by newid(), con);/随机出选择题1,其他题略 int t1 = SC.ExecuteNonQuery(); if (t1 0 & t2 0 & t3 0 & t4 0 & t5 0) bh = new string18;/保存随机出题后的编号 Panel1.Visible = true;/显示一些控件 jiaojuan2.Visible = true; chongzhi.Visible

17、= true; MultiView1.ActiveViewIndex = RadioButtonList1.SelectedIndex = 0; SqlCommand XZT = new SqlCommand(select 编号,题目,选项1,选项2,选项3,选项4 from 试卷 where 学号 = + Convert.ToString(Sessionxh) + , con);/查询该生的试卷 SqlDataReader dr = XZT.ExecuteReader(); int i = 1; while (dr.Read() string xx = new string4; bhi -

18、1 = Convert.ToString(dr编号); switch (i)/从数据库读取的试卷给题目和选项赋值 case 1:/1-10为选择题 11-18为选择填空 XZTM1.Text = i.ToString() + 、 + dr题目.ToString(); for (int j = 0; j xx.Length; j+) xxj = dr选项 + (j + 1).ToString().ToString(); xzpx(xx);/随机打乱选项 for (int j = 0; j xx.Length; j+) XZXX1.Itemsj.Text = xxj; break; /省略,代码太

19、繁琐。因重命名了控件名,简化太麻烦。简化见后 case 18: JDTM3.Text = i.ToString() + 、 + dr题目.ToString(); break; i+; if (i = 0) Page.RegisterStartupScript(, alert(出题错误!); con.Close(); else Page.RegisterStartupScript(, alert(出题错误!);public void xzpx(string xx)/打乱选项方法 Random ra = new Random(); int sjs1 = ra.Next(0, 4); for (in

20、t i = 0; i 0 &/*略*/& T18 0) Response.Write(alert(提交成功!点击退出考试系统。);location.href=/ksxt/index.aspx; ); else Page.RegisterStartupScript(, alert(提交失败,请联系管理员!); con.Close(); catch (Exception ex)/出现未选择选项,会出现异常的解决 Page.RegisterStartupScript(, alert(提交失败,部分选择题未选择!); while (dr.Read()/简化 从数据库读取的试卷给题目和选项赋值 见考试系

21、统2 THi - 1 = Convert.ToString(dr题号); LXi - 1 = Convert.ToString(dr类型); Control La = FindControl(Label + (i + 10); if (La != null) Label Lab = (Label)La; Lab.Text = i.ToString() + 、 + dr题目.ToString(); if (i 11) Control Ra = FindControl(RadioButtonList + i); if (Ra != null) RadioButtonList Radio = (Ra

22、dioButtonList)Ra; for (int j = 0; j 4; j+) Radio.Itemsj.Text = dr选项 + (j + 1).ToString(); i+;public void shangchuan()/简化 点击交卷后调用的方法 见考试系统2 string daan = new string18; for (int i = 0; i daan.Length; i+) if (i 10) Control Ra = FindControl(RadioButtonList + (i + 1); if (Ra != null) RadioButtonList Radi

23、o = (RadioButtonList)Ra; if (Radio.SelectedIndex 0) Response.Write(alert(有未做的题!);); return; else daani = Radio.SelectedItem.Text; else Control Te = FindControl(TextBox + (i - 9); if (Te != null) TextBox Text = (TextBox)Te; if (Text.Text = ) Response.Write(alert(有未做的题!);); return; else daani = Text.T

24、ext; SqlConnection con = new SqlConnection(); con.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStringsSQL.ToString(); con.Open(); SqlCommand com = null; int x ; for (int i = 0; i daan.Length; i+) com = new SqlCommand(update 试卷 set 学生答案 = + daani + where 题号 = + THi +

25、and ID = + ID + and 类型 = + LXi + and 课程 = + KC + , con); x = com.ExecuteNonQuery(); if (x = 0) Response.Write(alert(提交失败!); return; con.Close(); Response.Write(alert(提交成功,点击返回登陆页面!);location.href=/ksxt/index.aspx;);6.3、评阅页面评阅页面功能:教师用户页面,主要是两个功能,评阅和查询。评阅,当用户点击评阅后,参加考试的所有学生的学号会出现在DropDownList中,选择学号后会弹

26、出该生的试卷,用户可对该生进行打分。当用户点击全部提交后会自动删除该生以前的打分平后添加新的分数。查询,当用户点击查询后,可查看单个学生的成绩,也可查看全部学生的成绩。评阅页面特点:页面标题可以在数据库中修改,选择题和填空题课可自动和手动进行判卷,采用Panel控件的Visible属性对页面控件进行影藏和现实,没有采用MultiView控件;在GridView空间中添加CheckBox和DropDownList进行打分,避免了手动输入的错误。核心代码:protected void Page_Load(object sender, EventArgs e) /略 和考试页面相同protected

27、 void xzxh_SelectedIndexChanged(object sender, EventArgs e)/点击前已从数据源控件获得以考学号 if (xzxh.SelectedIndex = 0) Label4.Text = null; Panel1.Visible = false; return; Label5.Text = null; Label6.Text = null; Label7.Text = null; Label8.Text = null; SqlConnection con = new SqlConnection(); con.ConnectionString =

28、 System.Web.Configuration.WebConfigurationManager.ConnectionStringsloc. ToString(); con.Open(); SqlCommand com = new SqlCommand(select 姓名 from ksxt_student where 学号= + xzxh.SelectedItem. Text + ,con); SqlDataReader dr = com.ExecuteReader(); if (dr.Read() Label4.Text = 学生姓名: + dr姓名.ToString(); con.Cl

29、ose(); if (xzgn.SelectedIndex = 0)/如果现在了阅卷功能 Panel1.Visible = true; else/如果是查询 SqlConnection con1 = new SqlConnection(); con1.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStringsloc. ToString(); con1.Open(); SqlCommand com1 = new SqlCommand(select 总分 from 成绩 where 学号

30、= + xzxh.SelectedItem. Text + , con1); SqlDataReader dr1 = com1.ExecuteReader(); if (dr1.Read() Page.ClientScript.RegisterStartupScript(this.GetType(), , alert(一共得到 + dr1总分.ToString() + 分! );); Label8.Text = 总分: + dr1总分.ToString(); con1.Close(); protected void sdpdxzt_Click(object sender, EventArgs

31、e)/判断选择题分数 if (RadioButtonList1.SelectedIndex = 0)/自动打分 sumxzt = 0;/保存选择总数 SqlConnection con = new SqlConnection(); con.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStringsloc.ToString(); con.Open(); SqlCommand com = new SqlCommand(select 答案,学生答案 from 试卷 where 学号= +

32、xzxh. SelectedItem.Text + and (类型 =选择1 or 类型 = 选择2), con); SqlDataReader dr = com.ExecuteReader(); while (dr.Read() if (dr答案.ToString () = dr学生答案.ToString() sumxzt+; con.Close(); Label5.Text = 共对 + sumxzt + 个,共得 + sumxzt * 5 + 分!; else/手动打分 sumxzt = 0;/保存选择总数 int i = 0; foreach (GridViewRow dvr in GridView1.Rows) CheckBox chkSelect = (CheckBox)(dvr.FindContr

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922