基于AJAX的在线考试系统注册登录页面的实现

时间:2022-05-20 05:32:02

基于AJAX的在线考试系统注册登录页面的实现

【摘要】作为结合传统考试模式与计算机网络技术的系统,它面向的对象既是大范围的群体,这个群体中每个人的计算机操作水平参差不齐,所以首先整个操作系统务求界面简洁大方,操作简单方便,这样,在系统使用过程中,使人一目了然,不至于因为考试科目知识以外的原因而影响了最终的科学评价得分。其次,网络考试系统面向的对象又是特定的群体,所有考试者只有在获得认证的情况下,通过相应的用户名和密码验证之后才能登陆系统进行考试。通过AJAX交互页面技术在页面无需重新载入的情况之下,能够对页面的局部进行更新。

【关键词】AJAX;数据阅读器;getcon方法

一、应用AJAX无刷新技术的注册页面实现

考试系统使用之前,需要注册考生准考证号,设计制作考生注册页面。利用AJAX技术,加入ScriptManage脚本管理员控件和UpdatePanel局部更新面板控件,采用异步数据的传输方式,把数据传到数据库中,经过数据库准考证号比对验证没有注册过之后,方可注册。注册页面提交注册信息至数据库,再次比对该注册准考证号是否合法,如果与事先添加进数据表的合法准考证号字段相匹配,则验证通过;如果并非事先确认好的准考证号,则可以由管理员手动验证,确认是否通过,通过之后,则可以使用准考证号和密码登陆考试系统,否则将不能使用。

鉴于以上设计思路,在页面注册环节考虑加入一个Table控件来进行结构设计,使用AJAX无重刷技术,添加一个ScriptManage控件和一个UpdatePanel控件。在UpdatePanel控件中加入7个TextBox控件、2个DropDownList控件、4个Button按钮控件、1个RequiredFieldValidator控件、1个CompareValidator控件以及1个ValidationSummary控件,具体用途与属性设置如下:

表1-1 注册页面控件用途与属性设置

Tab.1-1 Registration page control purpose and attribute set

控件类型 相关属性设置 具体用途

ScriptManage 无 管理页面中Atlas服务器控件

UpdatePanel 无 令服务器控件具有AJAX异步传输功用

TextBox 无 用于准考证号、学生姓名、密码、重复密码、密码问题、密码答案、电子邮件的输入填写

DropDownList 无 用于“性别”和“所属班级”

Button Text属性设置为“检测注册号”、“注册”、“重置”、“关闭”四个内容 检测注册号是否重复、注册、重置和关闭按钮功能

RequiredFieldValidator ControlToValidate属性设为txtStuPwd,其中TextMode设为Password、ErrorMessage属性设为“密码不允许空” 用于验证第一个密码输入

CompareValidator ControlToValidate属性设为txtStuPwd,其中TextMode设为Password、ErrorMessage属性设为“两次密码不一致” 用于验证两次密码是否输入一致

ValidationSummary ShowMessageBox的属性设为True 显示错误的信息

二、注册号检测是否重复的实现

为避免在注册时发生与已注册准考证号相重复冲突的情况,设置在注册页面中添加一个检测注册号按钮,利用SqlDataReader(数据阅读器)调用ExceRead方法,读取User数据表中的准考证号,来判别是否已存在,具体采用如下语句:

SqlDataReader read = dataconn.ExceRead("select * from user where registrationnumbers='" + this.txtStuID.Text + "'");

三、系统登录页面设计

为了使合法用户能够正常使用考试系统,设置建立用户登录页面。登陆页面分普通考生登录、教师登录与管理员登录三种,对应各自不同的权限进入。普通考生登录即进入考试系统,准备考试;教师与管理员登录则进入相应后台进行管理。

通过使用自定义方法getcon(),来判别用户是admin、teacher、还是student。判断是否管理员的部分代码如下:

private void getcon(int j)

{

SqlConnection con = dataconn.getcon();

con.Open();

SqlCommand com = con.CreateCommand();

switch (j)

{

case 1:

mandText = "select count(*) from user.Administrator where Name='" + this.txtUserName.Text + "'and PWD='" + this.txtPwd.Text + "'";

int count1 = Convert.ToInt32(com.ExecuteScalar());

if (count1 > 0)

{

Application["Name"] = txtUserName.Text;

Application["PWD"] = txtPwd.Text;

Page.Response.Redirect("user/admin.aspx");

}

else

{

Response.Write(“<script lanuage= javascript>alert(‘该用户名或密码有误!’); location=’javascript:history.go(-1)’</script>”);

}

break;

四、密码找回功能设计

针对有的用户经常会忘记自己密码的情况,考虑设计找回密码功能。通过登录页面的“找密”按钮来进入密码找回页面,主要分2步进行,首先是确认自己的准考证号码,输入完成之后点击确定,将会通过公共类Datacon的getcon()方法建立与数据库表User的连接,通过比对数据库文件,判断是否存在此准考证号,如存在,则进入第二个页面,出现相应密码提示问题,否则显示无此学生编号或者输入有误。当回答了相应密码提示答案之后,点击确定,进行判断是否正确。如正确,则自动发送至注册登录邮箱。

综上所述,采用基于AJAX的在线考试系统注册登录页面使得网页应用能够向更小、更快、更友好的方向发展,并能被所有主流浏览器所支持,有比较好的效果。

参考文献

[1]石志国程序设计实用教程[M].电子工业出版社,2006:32-40.

[2]王会林.Hibernate、Struts和AJAX在Web开发中的综合应用[J].现代计算机(下半月)版,2007(17):129-231.

[3]陈磊.通用考试系统的设计与实现[J].计算机工程,2007,17(2):140-143.

上一篇:浅议高中历史学习与语文整合的必要性与方法 下一篇:浅析高职院校选课系统的数据库设计