基于Asp.Net的在线考试系统_第1页
基于Asp.Net的在线考试系统_第2页
基于Asp.Net的在线考试系统_第3页
基于Asp.Net的在线考试系统_第4页
基于Asp.Net的在线考试系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Asp.Net的在线考试系统IV基于Asp.Net的在线考试系统【摘要】近年来,计算机网络技术飞速发展使各行各业在计算机应用方面得到了广泛的普及和使用。传统的基于纸笔的考试形式已不能适应现在的发展需要,计算机在线考试正在逐步取代传统考试。计算机在线考试利用网络实现在线考试、评分等环节,它将以方便、灵活、快捷的优点进入人们的生活,同时减少了教师的工作量。在线考试系统的设计就是基于上述目的开发设计的。本系统主要包括考生考试、教师管理、管理员三大模块,具有在线考试、成绩查询、考试管理、试题管理、试卷管理和成绩管理、系统管理、用户管理等功能,本文对系统的需求分析、概要设计、详细设计以及系统实现做了简要的概述。【关键词】在线考试;Ajax;Asp.NetAnOnlineExaminationSystemBasedonAsp.NetAbstractInrecentyears,therapiddevelopmentofcomputernetworktechnologyandtheindustriesincomputerapplicationshavebeenwidelyspreadanduse.Thetraditionalpaper-basedexamformsofdevelopmentcannotmeetthecurrentneedsofthecomputeronlineexamisgraduallyreplacingthetraditionalexam.ComputeronlineexamusingtheInternetforonlineexam,scoreandothersectors.itwillbeconvenient,flexible,andefficientadvantagesintopeople'slives,whilereducingtheworkloadofteachers.DesignOnlineexaminationsystemisdesignedanddevelopedbasedontheabovepurpose.Thesystemincludestheexaminationofcandidates,teachermanagement,theadministratorofthethreemodules,withanonlineexam,queryresults,testmanagement,testmanagement,testmanagementandperformancemanagement,systemmanagement,usermanagementandotherfunctions.Inthispaper,thesystemneedsanalysis,outlinedesign,detaileddesignandsystemimplementationtodoabriefoverview.Keywords:OnlineExamination;Ajax;Asp.Net目录1.绪论 11.1开发背景 11.2开发目的和意义 12.系统分析 22.1可行性分析 22.1.1技术可行性 22.1.2操作可行性 22.2功能需求分析 22.2.3通用模块 22.2.4在线考试模块 22.2.5教师管理模块 22.2.6管理员模块 32.3系统业务流程图 32.4系统用例图 42.4.1管理员用例图 42.4.2考生用例图 42.4.3教师用例图 53、系统设计 63.1系统总体设计 63.1.1设计原则 63.1.2开发工具 63.1.3开发技术 73.2运行环境 73.2.1软件环境 73.2.2硬件环境 83.3系统功能设计 83.3.1管理员模块 93.3.2教师模块 93.3.3考生考试模块 93.4数据库设计 103.4.1数据库概念设计 103.4.2数据库表设计 114.界面设计与实现 154.1主页设计 154.1.1实现目标 154.1.2登陆界面 154.1.3系统主界面 174.1.3修改密码 184.2后台界面设计 184.2.1实现目标 184.2.2角色管理 194.2.3权限管理 204.2.4题库管理 224.2.5试卷管理 244.2.6科目管理 254.3在线考试设计 264.3.1在线考试 264.3.2查看答卷 284.4其他核心代码 284.4.1用户安全 28结论 29致谢 30参考文献 31第31页共31页一.绪论1.1开发背景目前,学校的各种考试大都采用传统的书面考试方式,在此方式下,组织一次考试要涉及组织命题、试卷印刷、考试安排、考生考试以及教师阅卷等步骤,考试周期长、效率低下,同时这种形式的考试会受到人工阅卷等主观因素影响,非常容易出错,所以传统的考试方式已经不能适应现代的考试需要。联合国教科文组织1998年在其一项调查报告中:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家,而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。中国的网络教育也随Internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。1.2开发目的和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开始设了远程教育。但是,远程教育的软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统到远程教育当中去,这就给软件设计人员提出了更高的设计要求。 远程教育包括很多环节。例如,教学系统、考试系统、和答疑系统等等。其中一个很重要的环节是在线考试系统,同时,它也是最难实现的环节。在我国,远程教育以蓬勃发展起来。但目前学校和社会上的各种考试大都都采用传统的考试方法,在此方式下,组织一次考试,要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切需要这些技术来进行在线考试,以减轻教师的工作的负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣[7]。二.系统分析2.1可行性分析2.1.1技术可行性本系统采用SQLServer2008进行后台数据库的管理、操作和维护。用VisualStudio2012进行前台页面设计,实现与后台数据库的接口、数据的录入、查询、浏览等功能。系统的后台管理界面采用JQueryEasyUI,JQueryEasyUI是一组基于Juery的UI插件集合,可以用它打造出功能丰富并且美观的UI界面。根据C#的特点和VisualStudio2012方便快捷的开发方式,以及JQueryEasyUI的广泛使用,充分说明该系统在技术方面可行2.1.2操作可行性 目前,计算机已经进入我们的生活,而且系统已经具备很好的人机交互界面,用户只需要掌握WindowsXP/Windows7等常用操作系统的基本使用即可。本系统的大部分操作只需要用户点击鼠标,操作简便。2.2功能需求分析2.2.3通用模块 本系统的用户使用同一个登陆界面,用户输入用户编号和密码,系统会自动识别当前用户角色,进入相应的界面。用户可以在系统中进行修改密码。2.2.4在线考试模块考生登陆后进入在线考试中心,通过选择科目找到想要参加的考卷。当系统判断考生的身份合法且未参加过该考试时,则允许考生进入考试状态。考试结束采取自主交卷和到了规定的时间自动提示有机结合的方式予以实现。考试过程中有倒计时功能,用以提醒考生。考生在提交试卷时自动生成成绩,选择题和判断题的自动阅卷由系统自动评分。而填空题和简答题的阅卷,由于主观性、答案个数的不确定性和判卷的尺度等等因素,本系统采用人工评卷的方式,教师评分完成后,成绩将自动更新。2.2.5教师管理模块教师在登陆界面输入账号密码之后,系统会自动识别角色,进入相对应的管理界面。教师登录管理系统后,需要根据考试科目和难易程度等要求从题库中用随机组卷的方式生成试卷,。教师还负责题库和科目的维护。教师可以通过本系统查询考生的成绩,还可以通过统计报表的形式对成绩进行分析和对比。2.2.6管理员模块管理员进入管理员界面,可以通过用户管理模块本系统的用户进行管理,包括考生、教师的信息录入和操作等。在角色管理模块中,管理员可以添加管理员,并在权限管理中指定该角色所用有的权限。(注:考生、教师和超级管理员是系统的三个基本角色,不得删除)。2.3系统业务流程图 系统业务流程如图2-1所示,图2-1系统业务流程图2.4系统用例图2.4.1管理员用例图图2-2管理员用例图2.4.2考生用例图图2-3考生用例图2.4.3教师用例图图2-4教师用例图三、系统设计3.1系统总体设计3.1.1设计原则对于在线考试系统来说,安全性、可扩展性、可管理性是最重要的关键的因素:1.安全性安全性是指系统能够保护数据或基础结构避免受恶意攻击或者盗用。安全性是通过为信息的机密性、完整性和可靠性提供充分的保护来预防风险。保障系统安全是任何系统成功的基本要素。除了用户资料外,对于在线考试系统来说,题库、试卷、成绩三者的安全性是必需要加以考虑的。2.可扩展性可扩展性是指系统能保证可持续增长以满足用户的需求和业务复杂性要求。本系统是以动态变化为模型,它们通常开始很小,但是随着需求的增长而呈指数级增长。这种增长非常迅速,不仅表现在支持的用户数量上而且表现在提供的用户服务的复杂性和集成性方面。对于考试系统而言,这种扩展性就显得尤为重要,因为考试系统功能的完善是一个渐进的过程,要根据学习的要求和技术的发展不断改进。3.可管理性可管理性是指可以方便地对系统进行管理,确保系统的正常运行管理和运作。主要涉及以下几个因素:维护系统服务及其服务正常工作所需的基础结构、工具以及管理员和技术人员。在线考试系统要求所有操作基本上都能在线完成,即通过IE等浏览器实现对考试系统的维护和运行管理。3.1.2开发工具1.VisualStudio2012VisualStudio是微软公司推出的开发环境。是最流行的Windows平台应用程序开发环境。2012年9月12日微软在西雅图发布VisualStudio2012。本系统是使用C#语言结合前端的JavaScript脚本语言及HTML在此平台上开发的。2.SQLServer2008SQLServer是一个关系数据库管理系统。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。MicrosoftSQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的MicrosoftSQLServer版本。3.1.3开发技术 本系统为基于Asp.Net的在线考试系统,主要用到以下技术: 1.ASP.NET ASP.NET是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。指ActiveServerPages(动态服务器页面),运行于IIS之中的程序[2]。2.三层架构 本系统采用ASP.NET的三层架构,通常情况下三层指的是:表现层、业务层和数据访问层。表现层用于用户接口的展示以及用业务层的类和对象来“驱动”这些接口。业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。数据访问层主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说是对数据的操作,具体为业务逻辑层或表现层提供数据服务。用三层架构可以让代码的可读性和功能的扩展性有着很好的提高[2]。3.ADO.NET由于本系统用的是SQLServer2008数据库,所以需要ADO.NET这种数据库连接的技术。ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。 4.HTML+CSS HTML是一种超文本标记语言,它与CSS(层叠样式表)结合可以对网页对象和模型样式进行编辑,并可以实现初步的交互设计。 5.JavaScript JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。 同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作[6]。 本系统使用了基于JQuery(一个优秀的JavaScript框架)的EasyUI插件,JQueryEasyUI提供了大量的UI控件,可以帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。3.2运行环境3.2.1软件环境表3-1软件环境分类名称版本语种操作系统MicrosoftwindowsXP/7中文操作系统的附加功能不详数据库平台SQLServer2008中文数据库平台补丁无应用平台应用平台补丁邮件系统暂无客户端软件IE8以上中文EnterpriseArchitect7.0英文3.2.2硬件环境表3-2硬件环境服务器最低配置推荐配置应用和数据库服务器Windows2000以上版本Microsoftwindowsserver2003内存512M以上1G以上硬盘10G以上40G以上邮件服务器无无无无3.3系统功能设计 在线考试系统分为3个基本模块:管理员模块、教师模块和学生考试模块。具体如图3-1所示:考试系统考试系统教师管理模块题库管理试卷管理教师信息管理手动阅卷成绩管理科目管理考生信息在线考试成绩查询考生登录角色管理权限管理系统维护管理用户信息管理考生考试模块管理员模块图3-1在线考试系统功能结构图3.3.1管理员模块本模块是用于管理员对用户、角色、权限的管理,管理员可以通过添加、修改和删除用户和角色实现对系统用户的管理。管理员可以给角色分配不同的权限。用户管理:管理员可以通过该系统创建学生、教师账号。管理员需要键入学生或教师的编号,姓名,性别等个人信息。编号作为登录名使用,用户创建成功后会被随机分配一个默认密码,该密码由管理员告知用户。用户编号不能重复。系统拥有一个超级管理员,超级管理员可以创建二级管理员账号,并在权限管理中给其绑定相应的权限。管理员也可以编辑、删除用户。角色管理:管理员可以创建角色,在权限管理中给其绑定权限。创建的角色名称不能与已有的角色名重复。管理员在删除角色时,若该角色下含有用户,系统会提示管理员,避免误操作。管理员可以通过列表的形式查看角色信息,也可以修改角色信息。权限管理:管理员可以对不同的角色分配相应的权限,使不同角色的用户可以操作不同模块。3.3.2教师模块 本模块用于教师对考试科目、题库及试卷的管理。科目管理教师可以添加、修改、删除和查看科目信息题库管理由于考试题型分为客观题和主观题两种,客观题有单选、多选,主观题有填空、简答。所以教师在添加试题时应选择相应的题型,及其所属科目。因为本系统为在线考试系统,教师在添加客观题时,必须表明哪个/些是正确答案。教师也可以添加答案解析,可供学生考试后查阅。教师只能修改或删除自己添加的试题。试卷管理教师根据考卷规则生成试卷,系统采用随机组卷方式生成试卷。试卷生成后教师可以在预览试卷之后确定是否保存。试卷保存之后,教师只能对试卷基本信息(试卷名称)进行修改。如果该试卷有学生考试过,则不能删除。教师可以查看参加考试的考生成绩,对需要进行主观题评分的试卷进行评分。教师还可以查看考生成绩的分布图。3.3.3考生考试模块 本模块用于考生参加考试,查看考试过的试卷及成绩。参加考试考生进入系统之后可以在试卷列表中找到想要考试的试卷进入考试,如果已经考试过,系统会提示已经考试过,避免重复考试。考生在考试过程中不得离开当前页面,否则本次考试无效。时间到时将自动提交答卷,考生也可以在时间结束之前点击提交按钮自行提交。答卷提交之后,考生可以看到客观题成绩,并且可以查看本套试卷的答案解析,总成绩将会在教师阅卷之后更新。成绩查看考生可以查看所有考试过的试卷的详细信息,包括自己的答案和正确答案以及成绩。3.4数据库设计3.4.1数据库概念设计 在线考试系统的数据库实体对象有用户信息、角色信息、试卷信息、试题信息、答卷信息和科目信息等,以下是部分实体的E-R图(实体-联系模型):用户信息实体用户信息实体包括用户账号、用户姓名、登录密码,所属角色,上次登录时间及IP等信息,如图3-2所示。用户用户图3-2用户信息实体E-R图登录账号所属角色姓名上次IP登录密码上次时间试卷信息实体试卷信息实体包括考卷名称、科目ID、考试时长、总分、及格分、良好分、优秀分、出卷人、难易程度、已考人数以及各个题型的数量和分值等信息,如图3-3所示。科目号科目号总分单选题数多选题数简答题数填空题数单选题分值填空题分值考卷名称出卷人试卷难度试卷信息多选题分值考试时长图3-3试卷信息实体E-R图试题信息试题信息包括试题类型、试题题目、答案A、答案B答案C、答案D、正确答案、所属科目、添加时间、难易程度、添加人等信息,如图3-4所示。试题信息试题信息图3-4试题信息E-R图添加人答案E正确答案答案D答案C答案B答案A题目难度题型题目内容所属科目试题编号答卷信息答卷信息包括答卷号、试题号、考生答案、考生得分等信息,如图3-5所示。试卷信息试卷信息图3-5考生答案信息E-R图考生得分考生答案答卷号试题号考生成绩信息考生成绩信息包括试卷号、考生号、客观题成绩、主观题成绩、考试时间、状态。如图3-6所示。考生成绩考生成绩图3-6考生成绩实体E-R图多选成绩总成绩单选成绩科目号科目名称考生证号3.4.2数据库表设计 1.用户信息表(UserInfo) 用户信息表用来存储系统用户的基本信息。表3-3用户信息表中文字段名英文字段名字段类型长度主键/外键字段值约束用户编号UserCodevarchar50PNOTNULL用户名UserNamevarchar50NOTNULL密码PassWordvarchar50NOTNULL真实姓名TrueNamevarchar50NOTNULL角色IDRoleIdint6FNOTNULL是否启用Stateint4最后登录时间LastTimedatetime20注册时间AddDatedatetime20NOTNULL密保问题Questionvarchar100密保答案Answervarchar100角色信息表(Roles)角色信息表用于存放角色的基本信息。表3-4角色信息表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6P/FNOTNULL角色名称RoleNamevarchar50角色说明Remarkvarchar100功能菜单表(Menu)功能菜单表用于存放系统导航菜单信息。只用于查询。表3-5功能菜单表中文字段名英文字段名字段类型长度主键/外键字段值约束编号MenuIdint6PNOTNULL菜单名称MenuNamevarchar50NOTNULL菜单说明MenuDescribevarchar50NOTNULL上级IDSuperiorIdint6NOTNULL图标Iconvarchar50NOTNULL页面链接PageUrlvarchar50NOTNULL权限表(Authority)表3-6权限表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6PNOTNULL角色IDRoleIdint6FNOTNULL菜单IDMenuIdvarchar100NOTNULL试题表(Questions)表3-7试题表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint50PNOTNULL试题类型Typevarchar50NOTNULL题目Questionvarchar500NOTNULL选项AOptionAvarchar500NOTNULL选项BOptionBvarchar500NOTNULL选项COptionCvarchar500NOTNULL选项DOptionDvarchar500正确答案AnswervarcharmaxNOTNULL科目IDSubjectIdint6FNOTNULL添加时间AddDatedatetime100NOTNULL难易程度Difficultyvarchar50NOTNULL添加者AddUserCodevarchar50NOTNULL考卷基本信息表(ExamPapers)表3-8考卷基本信息表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint50PNOTNULL考卷名称PapesNamevarchar50NOTNULL科目IDSubjectIdint6FNOTNULL时长Durationint50NOTNULL总分TotalPointsvarchar50NOTNULL添加时间AddDatedatetime20NOTNULL添加者InputUserCodevarchar50NOTNULL备注RemarkvarcharmaxNOTNULL难易程度Difficultyvarchar50NOTNULL考试人数Numint6NOTNULL及格分PassPointsvarchar50NOTNULL良好分Goodvarchar50NOTNULL优秀分Excellentvarchar50NOTNULL考卷详细信息表(PaperData)表3-9考卷详细信息表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6PNOTNULL试卷编号PaperIdint50NOTNULL试题IDQuesIdvarcharMaxFNOTNULL试题类型QuesTypevarchar50NOTNULL试题数QuesNumint6NOTNULL每题分数PerPointvarchar50NOTNULL考生答卷基本信息表(MyPaper)表3-10考生答卷基本信息表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6PNOTNULL试卷编号PaperIdint50NOTNULL用户编号UserCodevarchar50FNOTNULL客观题成绩ObjectiveScorevarchar50NOTNULL主观题成绩SubjectiveScorevarchar50NOTNULL考试时间ExamDatedatetime20NOTNULL状态Stateint6NOTNULL考生答题详情表(MyAnswer)表3-11考生答题详情表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6PNOTNULL考生试卷IDMyPaperIdint6NOTNULL试题IDQuesIdint6NOTNULL考生答案MyAnswervarcharMaxNOTNULL科目表(Subject)表3-12科目表中文字段名英文字段名字段类型长度主键/外键字段值约束编号Idint6PNOTNULL科目名称Subjectvarchar50NOTNULL备注Remarkvarchar100NOTNULL四.界面设计与实现4.1主页设计4.1.1实现目标 用户进入网站将首先进入登录页面,在输入用户名和密码以及验证码之后,进入系统主页面。登陆模块主要实现如下功能:用户名、密码和验证码验证成功后,系统可自动判断用户角色,然后进入相应的界面。用户信息填写错误时,提醒用户输入有误。登陆页面无刷新验证。4.1.2登陆界面图4-1登陆界面 为了使登陆界面更加人性化,我使用了无刷新设计,并且增加了页面的回车事件,以便用户在输入完信息之后可以直接点击回车按钮完成登陆操作。相关代码如下:protectedvoidPage_Load(objectsender,EventArgse){//设置按回车键触发的按钮事件this.Form.DefaultButton="lbtnLogin";}//在前台使用ScriptManager以及UpdatePanel控件实现简单的无刷新<asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager><divid="center"><divid="center_left"></div><divid="center_middle"><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><divid="tip"runat="server"style="visibility:hidden"><imgsrc="images/icon/exclamation.png"align="absmiddle"/><asp:LabelID="lbTip"runat="server"></asp:Label></div><divid="user"><labelfor="txtUser">用户名:</label><asp:TextBoxID="txtUser"runat="server"></asp:TextBox></div><divid="password"><labelfor="txtPass">密  码:</label><asp:TextBoxID="txtPass"runat="server"TextMode="Password"></asp:TextBox></div><divid="captcha"><labelfor="txtCaptcha">验证码:</label><asp:TextBoxID="txtCaptcha"runat="server"Width="60px"></asp:TextBox><cc1:AuthenticationCodeID="AuthenticationCode1"runat="server"title="点击刷新验证码"align="absmiddle"Height="25px"Width="60px"AllowCharRotation="True"AllowDistortion="False"CodeColorMode="PURE_COLOR"CodeFontMode="FONT_LIMITED"CodeFontSizeMode="SIZE_VARY"ContentField="DIGIT_AND_LETTER"ForeColor="#000099"NoiseMode="NONE"><CodeFonts><cc1:AuthenticationCodeFontArrayItemAuthCodeFont="微软雅黑,9pt"/></CodeFonts></cc1:AuthenticationCode></div><divid="btn"><asp:LinkButtonID="lbtnLogin"runat="server"OnClientClick="returnchecklogin()"OnClick="lbtnLogin_Click">登录</asp:LinkButton><ahref="#"id="abtnReset"onclick="reset()">重置</a></div></ContentTemplate></asp:UpdatePanel></div><divid="center_right"></div></div> 用户登录成功之后,用户信息将会暂时保存在cookies中,为了保护个人信息,用户在退出系统之前,可点击主界面右上角的安全退出按钮清除cookies。4.1.3系统主界面图4-2主界面 主界面是用目前比较流行的JQueryEasyUI插件集合搭起的框架,简单美观。左侧的功能菜单是根据当前登陆的用户角色来动态绑定的。相关代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(Request.Cookies["userInfo"]==null){Response.Redirect("default.aspx");return;}HttpCookiecookie=Request.Cookies["userInfo"];RoleName=HttpUtility.UrlDecode(cookie.Values["roleName"]);TrueName=HttpUtility.UrlDecode(cookie.Values["trueName"]);RoleId=cookie.Values["roleId"];if(!IsPostBack){stringauthority=BLL.AuthorityManager.GetRoleAuthority(RoleId);//获取指定角色所有菜单项DataTabledtTb_Menu=BLL.MenuManager.GetAllMenu(authority);//使用json绑定左侧菜单MenuDomStr=JsonTableHelper.ToJsonp(dtTb_Menu);}} 系统获取了相应用户的角色权限后,通过JQuery动态生成HTML标记,将相应的菜单显示在主界面左侧。4.1.3修改密码图4-3修改密码 在主界面右上角有修改密码按钮,每个登陆的用户都可以点击该按钮弹出可拖动的修改密码对话框修改登陆密码。4.2后台界面设计4.2.1实现目标 用户进入主界面之后,系统主要实现以下功能:对系统的所有用户信息的管理。考试科目、题库以及试卷的维护考试成绩的查询等。4.2.2角色管理图4-4角色管理界面 角色管理模块主要对角色进行添加、修改和删除等操作。由于角色的特殊性,系统暂不提供批量删除功能。以下是给表格添加操作列的相关代码:$("#roleInfo").datagrid({url:'ashx/roleInfo.ashx',loadMsg:'请稍等,正在努力加载数据...',fitColumns:true,fit:true,width:'100%',columns:[[{field:'Id',title:'编号',hidden:true},{field:'RoleName',title:'角色名称',width:200},{field:'Remark',title:'角色说明',width:600},{field:'opt',title:'操作',width:50,align:'center',formatter:function(value,row,index){varedit='<imgsrc="JS/jquery-easyui-1.3.4/themes/icons/pencil.png"title="编辑"onclick="OpenChange(\''+row.Id+'\',\''+row.RoleName+'\',\''+row.Remark+'\')"/>';returnedit;}},{field:'opt_d',title:'删除',width:50,align:'center',formatter:function(value,row,index){vardel='<imgsrc="JS/jquery-easyui-1.3.4/themes/icons/cancel.png"title="删除"onclick="DeleteRole(\''+row.Id+'\')"/>';returndel;}}]],singleSelect:true,pagination:true,rownumbers:true,toolbar:[{text:'新增角色',iconCls:'icon-add',handler:function(){$("#roleAdd").window({title:'添加角色'});$("#txtopt").val('add');$("#txtRoleid").val('0');}}],onLoadSuccess:function(data){//空数据时提示if(data.rows.length==0){varbody=$(this).data().datagrid.dc.body2;body.find('tabletbody').append('<tr><tdwidth="'+body.width()+'"style="height:25px;text-align:center;"colspan="4">没有数据!</td></tr>');}}4.2.3权限管理图4-5权限管理界面 权限管理模块主要功能是给角色分配相应的权限。点击左侧任意角色名称,右侧就会对该角色拥有的功能菜单打勾。功能菜单树表格绑定的相关代码如下://获取权限菜单publicstringGetAuthority(){DataTabledt=MenuManager.GetAllMenu();returnGetString(dt);}//将DataTable转换为指定格式的jsonpublicstringGetString(DataTabledt){StringBuildersb=newStringBuilder();sb.Append("{\"total\":"+dt.Rows.Count+",\"rows\":[");//获取父级菜单foreach(DataRowdrindt.Rows){if(dr["SuperiorId"].ToString()=="0"){sb.Append("{\"MenuId\":\""+dr["MenuId"].ToString()+"\",\"MenuName\":\""+dr["MenuName"].ToString()+"\",\"MenuDescribe\":\""+dr["MenuName"].ToString()+"\",");sb.Append("\"children\":[");stringparentid=dr["MenuId"].ToString();//获取子菜单 foreach(DataRowdrcindt.Rows){if(drc["SuperiorId"].ToString()==parentid){sb.Append("{\"MenuId\":\""+drc["MenuId"].ToString()+"\",\"MenuName\":\""+drc["MenuName"].ToString()+"\",\"MenuDescribe\":\""+drc["MenuName"].ToString()+"\"},");}}sb.Remove(sb.Length-1,1);sb.Append("]},");}}sb.Remove(sb.Length-1,1);sb.Append("]}");returnsb.ToString();}4.2.4题库管理图4-7题库管理界面 题库管理模块主要由教师负责维护,教师可以添加、修改、删除试题。该模块提供了批量删除功能。相关代码如下://批量删除functionremove(){varrows=$('#QuestionInfo').datagrid('getSelections');//获取所有选中行的集合varselQuesIds="";if(rows.length<1){$.messager.show({title:'提示',msg:'请选中一行进行操作!',showType:'show'});}else{$.messager.confirm('确认对话框','确定要删除这'+rows.length+'行数据吗',function(r){if(r){for(vari=0;i<rows.length;i++){selQuesIds+=rows[i].Id+",";}selQuesIds=selQuesIds.substring(0,selQuesIds.length-1);//去掉最后一个“,”alert(selQuesIds);//把所有选择的行id提交$.post("ashx/question.ashx",{"btntype":"btnRemove","selQuesIds":selQuesIds//获取选中行的主键id},function(isSuccess){if(isSuccess=="true"){//提示框$.messager.show({title:'提示',msg:'批量删除成功!',showType:'show'});$('#QuestionInfo').datagrid('reload');//刷新datagrid数据$('#QuestionInfo').datagrid('clearSelections');//清除被选中的行}else{//提示框$.messager.show({title:'提示',msg:'批量删除失败!',showType:'show'});}})}})}}///<summary>///批量删除试题///</summary>///<paramname="QuestionId"></param>///<returns></returns>publicstaticintDeleteQuestion(stringQuestionId){stringsql=string.Format("deletefromQuestionswhereIdin({0})",QuestionId);returnSQLHelper.ExecuteNonQuery(sql);}4.2.5试卷管理图4-7试卷管理界面 在试卷管理模块中,教师在创建试卷时可以先设置试卷的规则,然后由系统随机组卷,教师可以通过预览试卷来确定是否保存该试卷。同时在该模块中,教师可以查看考生某次考试的成绩,并且教师可以成绩的统计图表,如图4-8,图4-9所示。图4-8成绩列表图图4-9成绩统计分析图4.2.6科目管理图4-10科目管理界面 科目管理主要用于添加、修改和删除考试科目,实现方式类似角色管理。4.3在线考试设计4.3.1在线考试图4-11在线考试界面 学生进入主界面之后选择相应的试卷进入考试页面,考试页面提供了试题的展开和收缩效果,便于考生答题。考试开始后会进行倒计时,相关代码如下://倒计时vartime='<%=times%>';if(time<10){time="0"+time;}$("#min").html(time);varmin=$("#min").html();functioncountDown(){varsec=$("#sec").html();if(min=="00"&&sec=="01"){$("#sec").html('00');$.me

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论