《ASP.NET程序设计》课程实训学号:126072015251姓名:李洪光专业:计算机应用技术班级:2012级1班2014年1月3日目录:1、设计题目···········································12、背景与目的·········································13、开发环境与开发工具·································14、主要功能···········································15、数据库设计与实现···································16、系统的详细设计·····································26.1、登陆页面·······································26.2、考试页面·······································46.3、评阅页面·······································96.4、管理页面······································137、总结··············································15ACM国际学院入学考试系统第1页共15页1、设计题目ACM国际学院入学考试系统。2、背景与目的《ASP.NETWeb课程设计》是本学期的一本很重要的专业课,本次课程设计就是为了检测本学期对这本书的掌握情况。本次课程设计也将作为期末考评。“ACM国际学院入学考试系统”主要针对大一新生的入学考试。3、开发环境与开发工具网站开发环境:MicrosoftVisualStudio2008集成开发环境。网站开发语言:C#。数据库:MicrosoftSQLServer2005数据库。开发环境运行平台:WindowsServer2008。测试软件:WindowsInstallerExplorer9、360极速浏览器。4、主要功能主要实现了在线考试,在线阅卷,以及简单的登录功能、注册功能和基本的增删查改的功能。5、数据库设计数据库(ksxt)表:学生表(ksxt_student)教师表(ksxt_teacher)管理员表(ksxt_ad)题库表试卷表成绩表ACM国际学院入学考试系统第2页共15页其他表:网站表,用来存储页面属性,如title6、系统的详细设计6.1、登陆页面登陆页面功能:用户输入账号密码并选择类型后点击登陆,若密码正确,则跳转对应页面。本系统一个三种用户:学生,主要实现考试功能;教师,主要实现评阅试卷和查询学生成绩的功能;管理员,主要实现用户注册,用户管理和对试卷的更新,添加和删除功能。登陆页面特色:页面采用CSS+DIV布局,可实现登陆框的垂直水平居中,页面标题可以在数据库中修改。未采用MultiView控件,通过代码验证用户类型。核心代码:styletype=text/css//布局body{margin:0px;}#bjt{position:absolute;width:100%;height:212px;top:50%;margin-top:-106px;border:solid0pxred;background-color:#FFF;}//背景条#dlk{position:absolute;width:500px;height:200px;left:50%;margin-left:-250px;border:3pxdashed#630;padding:3px;}//登录框/styleACM国际学院入学考试系统第3页共15页protectedvoidPage_Load(objectsender,EventArgse){this.MaintainScrollPositionOnPostBack=true;if(!IsPostBack){SqlConnectioncon=newSqlConnection();con.ConnectionString=System.Web.Configuration.WebConfigurationManager.ConnectionStrings[loc].ToString();con.Open();SqlCommandcom=newSqlCommand(select内容from网站where元素='title',con);SqlDataReaderdr=com.ExecuteReader();if(dr.Read()){Session[xt]=Convert.ToString(dr[内容]).Replace(—,);//给标题赋值Session[bt]=t.Text=Convert.ToString(dr[内容]);Label1.Text=Convert.ToString(dr[内容]).Replace(—,br/);}con.Close();}t.Text=Convert.ToString(Session[bt]);//给标题赋值}protectedvoiddenglu_Click(objectsender,EventArgse){//登陆按钮stringyhlxsv=yhlx.SelectedValue;SqlConnectioncon=newSqlConnection();con.ConnectionString=System.Web.Configuration.WebConfigurationManager.ConnectionStrings[loc].ToString();con.Open();SqlCommandcom=null;switch(yhlxsv){//验证用户类型,调用对应查询语句case学生:com=newSqlCommand(select姓名fromksxt_studentwhere学号='+yhzh.Text.Trim()+'and密码='+yhmm.Text.Trim()+',con);break;case教师:com=newSqlCommand(select姓名fromksxt_teacherwhere教号='+yhzh.Text.Trim()+'and密码='+yhmm.Text.Trim()+',con);break;case管理员:com=newSqlCommand(select姓名fromksxt_adwhere管号='+yhzh.Text.Trim()+'and密码='+yhmm.Text.Trim()+',con);break;}SqlDataReaderdr=com.ExecuteReader();if(dr.Read()){Session[xm]=dr[姓名];Session[lx]=yhlxsv;Session[xh]=yhzh.Text.Trim();switch(yhlxsv){//验证用户类型,跳转对应页面case学生:Response.Redirect(/ksxt/studentpages/kaoshi.aspx);break;case教师:ACM国际学院入学考试系统第4页共15页Response.Redirect(/ksxt/teacherpages/pingyue.aspx);break;case管理员:Response.Redirect(/ksxt/adpages/guanli.aspx);break;}}elsePage.RegisterStartupScript(,scriptalert('账号或密码错误!')/script);con.Close();}6.2、考试页面考试页面功能:学生用户进入页面,会显示用户“类型”、“姓名”和“时间”;当用户点击“开始考试”后会出现“题型”、“重置”、“交卷”按钮和通过“题库表”动态生成的试题,在动态生成的试题前会删除该用户上次的试卷,然后把新试题存入“试卷表”中,每题限时2分钟。点击“交卷”弹出话框,只有完全答题后点“是”才能把答案更新到“试卷表”的“学生答案”字段中。考试页面特色:页面采用CSS+DIV布局,可实现登陆框的垂直水平居中,页面标题可以在数据库中修改;随机出题,随机打乱选项;并对Wizard控件重新编辑,可实现Wizard、View和RadioButtonList联动,有时间限制。核心代码:divid=shangstyle=background-image:url('../image/bjtp2.png');color:#FFFFFF;width:700px;height:100%;margin-left:-350px;position:absolute;left:50%;dir=ltr//背景条divid=zhongstyle=padding:3px;border:3pxdashed#630;background-image:url('../image/bjtp3.png');//考试框ACM国际学院入学考试系统第5页共15页width:688px;height:410px;top:50%;right:50%;position:absolute;margin-top:-213px;margin-right:-350px;/div/divscripttype=text/javascript//显示代码document.write(spanid=labTimewidth='118px'height='11px'Font-Size='9pt'/span)//日期容器setInterval(labTime.innerText=newDate().toLocaleString(),1000)//每1000毫秒执行一次/scriptscripttype=text/javascript!--//倒计时代码varmaxtime=1*30//按秒计算functionCountDown(){if(maxtime=0){minutes=Math.floor(maxtime/60);seconds=Math.floor(maxtime%60);msg=minutes+分+seconds+秒;document.all[timer].innerHTML=msg;if(maxtime==1*10)alert('注意,还有10秒,10秒后退出系统!');--maxtime;}else{ClearInterval(timer);alert(时间到,考试结束,将返回登陆页面!);location.href='/ksxt/index.aspx';}}timer=setInterval(CountDown(),1000);}--/scriptdivid=timerstyle=color:red;text-align:left;width:80px;protectedvoidPage_Load(objectsender,EventArgse){this.MaintainScrollPositionOnPostBack=true;if(!IsPostBack){Page.RegisterStartupScript(,scriptalert('如果你已经考试过了,会清空原有记录!')/script);xh=Convert.ToString(Session[xh]);Label1.Text=Convert.ToString(Session[xm]);if(Label1.Text.Trim()==)//如果没登陆,则Label1无值,页面会跳转首页Response.Write(scriptalert('请登录!');location.href='/ksxt/index.aspx';/script);Label2.Text=Conver