<user_Calendar:CalendarExtender TargetControlID="birth_D" runat="server" Format="yy-MM-dd" ID="cal_D" PopupButtonID="img_D" CssClass="Date_Calendar"/>
用户在线评测时,需要对指定范围的参评人员进行评测,评测题目较多。传统方法是在完成对一个参评人所有评测题目时再进行结果提交,提交将对评测界面产生一次整体刷新,若在对某参评人的评测过程中IE意外关闭,则登录后需对该参评人进行重新评测。应用Asp.net Ajax Control Toolkit控件,可在UpdatePanel控件中动态创建RadioButtonList控件(以单选为例),用户完成一组题目时前台JS对单选框进行处理并将数据异步提交服务器,回调结果由前台处理并进行提示,表示某一测评题目是否成功提交。其实现效果如图5所示。
3.4 总体评测情况管理
评议系统为管理者提供用户总体测评情况查询浏览系统,在Asp.net中有很多数据展现控件,如GridView,它自带了分页功能,但若未禁用ViewState,则其产生的结果非常大,而且进行上下页点击操作时都会引起页面回发,该过程需要与服务器进行完全交互,响应时间较长、传输数据量很大。基于Ajax技术的分页可以很好地解决这些问题,Ajax将JavaScript技术和XML HttpRequest对象置于Web表单与服务器之间,当用户进行翻页操作时,命令数据交由特定JavaScript代码处理并向服务器发送请求,此时用户屏幕表单并不会闪烁、消失或延迟。请求发送的异步特定,使用户无需等待服务器的响应便可继续输入数据、滚动屏幕和使用应用程序,JS脚本接收服务器返回的数据并决定如何处理数据,这样便可以迅速更新表单显示,使用户感觉翻页操作是即时完成的。
其实现过程如下:换页指令由JavaScript脚本截获并异步发送Web服务器,服务器调用数据库存储过程得到页面内容并转换成JSON格式,JSON格式内容异步发回JavaScript脚本,JS脚本在浏览器后台动态局部刷新用户界面,完成换页操作。其关键过程如下:
(1)由SQL Server 2005内建ranking函数为待分页表行生成行号,利用Row_Number()函数设计分页存储过程。
(2)Web服务器中调用存储过程读取页面信息。Asp.net执行数据获取得到要访问页面SqlDataReader对象,由处理程序将该对象转换成JSON格式的字符串。
(3)Web服务器Ajax服务端实现。Web服务器在页面事件中把Json数据传输到客户端为Ajax客户端程序提供服务。
(4)Ajax客户端实现。使用JQuery Ajax框架技术,客户端JavaScript脚本完成JSON接收后,将数据显示在Web页面。
本文针对网上评议系统运行过程中交互较多和读取服务器数据量大的特点,设计并实现了基于Asp.net Ajax开发框架的民主评议系统。此技术的应用大大减少了系统对用户交互的响应时间,使用户感受到良好的使用体验,同时缩短了开发时间与成本,使系统具有较强的可维护性与可扩展性。异步交互功能避免了传统的整页刷新方式造成的时间浪费,大大提高了系统资源利用率,使该系统在使用过程中比传统Web实现更加高效和实用。
参考文献
[1] GARRETT J J. Ajax: A new approach to Web applications[EB/OL].[2006-02-12].
[2] ASLESON R, SCHUTA N T. Foundation of Ajax[M].Appress,2005.
[3] CRANE D,PASCARELLO E. Ajax in action[M].中文版.李锟,译.北京:人民邮电出版社,2006.
[4] ASLESON R,SCHUTTA N T.Ajax基础教程[M].金灵,等译.北京:人民邮电出版社,2005.
[5] 陈黎.ASP.NET Ajax程序设计(第1卷:服务器端)[M].北京:人民邮电出版社,2007.
[6] 黄大伟.ASP.NET Ajax深度剖析范例集[M].北京:中国青年出版社,2007.
AET会员年终大福利!
点此领取>>