基于NET Ajax的网上下载系统

2011-12-26 07:56季云
常州信息职业技术学院学报 2011年6期
关键词:控件页面客户端

季云

(常州信息职业技术学院 江苏常州 213164)

基于NET Ajax的网上下载系统

季云

(常州信息职业技术学院 江苏常州 213164)

随着互联网技术日渐成熟,B/S模式的发展受到了业界的广泛关注。现阶段,基于Web的应用程序逐渐走上网络的历史舞台,成为主流技术,被广泛地应用于应用系统、服务、管理平台,性能的高效和界面美观是衡量IT系统成功与否的关键因素,Ajax技术是可以尝试利用的技术之一。基于Ajax技术Web系统,可以提供给管理员和用户更流畅的操作界面,在用户下载数据时操作更方便;数据下载更流畅,减轻服务器负担等。不同的只是浏览器把下载内容信息,异步的传输给服务器端,进而保存在数据库中。利用Ajax技术实现了Web系统的功能,实现异步信息传输,同时也考虑了系统的安全性问题,提供了一个人性化、高交互性与高响应性的基于Ajax网上下载系统。

Ajax技术;B/S模式;Web系统

0 引言

网络的诞生促进了人类的发展,随着网络技术的日渐成熟,越来越多的传统网络技术被应用到网络上,现阶段应用比较多如下载系统和OA系统。由于传统技术自身的局限性,增加了传统技术中的一些特殊要求在网络实现的难度。通过这点可以看出,网络技术即使再发达也不能够撼动传统技术的坚实地位,只能够作为传统技术的补充而已,目前阶段还不能够替代传统技术。本文介绍了目前主流的开发模式,在用户使用、系统性能、扩展性方面都有一个大的提升。

1 IT系统主要设计模式介绍

现阶段,基于Web系统的模式主要包含了如下几种:

①现阶段被广泛应用的以C/S结构为基础的系统;

②以Applet的B/S结构为基础的系统;

③以ActiveX控件的B/S结构为基础的系统;

④以客户端脚本的B/S结构为基础的系统。

第一种模式是目前微软和IBM等公司认证考试所使用的系统。随着系统的逐步完善,此系统在使用过程中具有较强的系统功能,可以进行较准确的计时以及故障点的恢复等。虽然具有较强的应用性能,但是此种系统的致命弱点在于需要在客户端安装软件,这不仅给使用者增添了很多麻烦,同时也降低了系统的可移植性;而第二种模式克服了第一种系统的低效移植,增加了系统的可移植性能,但是同样存在着自身的缺点,第二种系统需要在Java环境下才能够运行,这就限制了系统的使用人群,降低了系统的使用范围。并且同样为使用者带来了不便;第三种模式的限制性更强,此种系统只能够允许在微软的系统环境下才能够运行,并且需要使用与之安装相关的控件,很大程度上限制了系统的使用,同时由于该系统不具备移植性,更是降低了系统的使用范围。[1]

2 Ajax技术

Ajax技术在某种程度上说并不是一项技术,而是众多技术的合体。与以往的Applet和Flash相比,Ajax技术属于轻量级。Ajax技术是以HTML和XHTML为基础的操作技术。以JavaScript为脚本语言,Ajax技术能够成为主流技术的关键在于它是以一种成熟的技术为基础,并且能够集合众多技术之所长,进而使得传统的B/S技术得以散发新的活力。见图1和图2。

图1 各种技术在Ajax引擎中的引用

2.1 Ajax技术的优点

Ajax技术在很大程度上改变了传统技术的缺点,采用独特的远程脚本技术,此项技术的最大特点便是可以异步实现页面数据的更新,改变了以往重载技术的缺点,使其受到了广泛的欢迎。现阶段经常使用的Goole的Gmail等都是此项技术应用的见证。现阶段,Ajax技术在国内已经成功地应用到了网易的邮箱。下面将系统地总结下Ajax技术的优点:

①页面无刷新,在页面内与服务器通信,用户的体验非常好。

②使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。

③可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理。

④基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

图2 Ajax工作原理图

2.2 Ajax技术的缺点

1)缺少一个没有标准之争、没有back和history的浏览器。Ajax取消了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的Web站点的重要功能,但是它没法与js进行很好的合作,这是Ajax所带来的一个比较严重的问题。作为一个Web的用户,已经习惯了有back按钮,这几乎是每个用户共同的习惯,Ajax下点击链接不刷新页面,所以不存在后退和前进,同样,没有后退和前进也就无法查找浏览历史纪录。back和history存在的根本就是url的改变,在Ajax下人们发现不改url也同样能达到内容改变这个特点。

Gmail下面采用的Ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变Ajax的机制,它只是采用的一个比较简单但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,与Ajax框架所要求的快速开发是相背离的。这是Ajax所带来的一个非常严重的问题。

2)对搜索引擎的支持不好。

3)安全问题。Ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有Ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于credentials的安全漏洞等。

4)语言问题。

①编写复杂、容易出错(JavaScript本是是个轻量级的小东西,现在被强迫重用起来,负担可想而知)。

②冗余代码更多(层层包含js文件是Ajax的通病,再加上以往的很多服务端代码现在放到了客户端)。

③破坏了Web的原有标准。

3 ASP.NET Ajax在Web中的应用

Ajax(Asynchronous JavaScript and XML)是现有多种技术的综合,包括 JavaScript、XHTML、CSS、DOM、XML、XSTL和XMLHttpRequest。AJAX使用XHTML和CSS标准化呈现数据,使用DOM实现动态显示和交互数据,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用JavaScript绑定和处理所有数据。[2]Ajax为交互操作较多、数据读写频繁和数据分类良好的Web应用提供了一个很好的解决方案。其中XMLHttpRequest、JavaScript和DOM是Ajax技术的核心。

在Web开发应用中利用VS2005开发平台和ASP.NET Ajax1.0框架进行Web页面的开发是一个不错的选择,在Web开发中需要安装这一框架,可以在微软官方网站上下载后安装,安装完成后在VS2005开发平台上可以看到ASP.NET Ajax服务器控件,并在页面上出现相关的工具页面。

系统需求描述当今社会,休闲娱乐已经融入人们生活。在强大的网络面前,人们可以足不出户浏览天下信息。本视频网站为用户提供类似C/S结构形式的信息树形导航、投票、网络上传等功能。用户通过网络登陆和注册网站用户,查看关于电影、动画、音乐等视频资料相关信息。

3.1 特色分析

1)利用DIV+CSS结构布局,便于搜索引擎很好地捕捉信息以及页面样式、主题的控制。

2)利用Ajax技术实现页面无刷新效果,方便用户使用。

3.2 系统模块设计

本系统中模块设计见图3。

图3 模块设计图

3.2 系统功能模块实现

在此重点介绍Ajax技术在本系统中的应用部分登入界面如图4所示:

图4 登入界面图

主页面如图5所示:

图5 主页面

4 VS2005开发环境中使用 ASP.NET Ajax控件要注意的问题

利用VS2005进行Web开发的过程中,需要各种的服务器控件。通常情况下会将VS2005和ASP.NET Ajax控件结合使用。但是两者同样存在不兼容的地方,主要有以下几个方面:

4.1 与UpdatePanel控件不兼容的控件

1)TreeView和 Menu控件;Web Parts控件; Substitution控件。

2) 登录控件,如 Login,PasswordRecovery,Change Password和CreateUserWizard控件。在默认情况下,上述控件与UpdatePanel控件是不相兼容的。当上述控件转换为可编辑状态时,登录控件中的验证控件便可以与UpdatePanel控件兼容。

3)验证控件类。如 BaseCompareValidator,BaseValidator,CompareValidator,customValidator,RangeValidator, Regular ExpressionValidator,RequiredFieldValidator和 Validation Summary控件。这些控件在默认情况下也可以与UpdatePanel控件结合使用,但是在Web应用程序发布之后,上述验证功能可能会出现失效情形。要使得这些验证控件能与UpdatePanel控件兼容,需要把上述验证类控件的Enable ClientScript属性设置为false。这样,就不允许客户端脚本被用于在浏览器端执行验证操作。在异步式提交操作中,验证控件就会在服务器端执行验证操作。[3]

4)GridView和DetailsView控件。在默认情况下,GridView和DetailsView控件与Update Panel控件可正常兼容使用。但是,如果把它们的Enable-SortingAndPagingCallbacks属性设置为True的时候(默认值为False),在UpdatePanle中的GridView和DetailsView控件的排序和分页功能将失效。

5)FileUpload控件。FileUpload控件在默认情况下,放在UpdatePanel中并且有控件触发时,不能发挥上传作用。[4]但是当UpdatePanel的Triggers属性中,设置触发控件(例如Button,)为PostBack时,FileUpload可以发挥上传功能,只是整个页面不能局部刷新。

4.2 页面跳转要注意的问题

通常情况下,开发Web应用程序就必然会有页面之间的跳转。如果UpdatePanel内有触发页面跳转的控件(如Button),那么该控件的事件中就不能用如下的语句,否则会弹出异常的对话框。

①调用Response.Write():

②调用Response filters:

③HttpModules:

④调用Server.Transfer()。

5 结束语

采用Ajax可以给用户更好、更方便的上网体验,在程序开发过程中,Ajax与其说是一种技术,不如说是编程的一种思想,一种使用异步交互和局部刷新来不断改善用户体验的思想。就目前来说,Ajax技术的应用还不够成熟,也还在不断地完善,不论它是否成为主流的编程技术,就开发的互动性来说,无疑是一种好的选择。

[1] 奚江华.ASP.NET 2.0开发详解——使用 C [M].北京:清华大学出版社,2006:87-99.

[2] 陈冠军.征服ASP.NET2.0Ajax——Web开发技术详解[M].北京:人民教育出版社,2007:77-80.

[3] 王净,战凯.Ajax技术和Web应用[J].舰船电子工程,2009(11):127-131.

[4] 张旗.浅析Ajax框架在Web系统中的开发与应用[J].科技广场,2008(8):221-223.

Ajax-based Online Downloading System

JI Yun
(Changzhou College of Information Technology,Changzhou 213164,China)

Along with the mature of the Internet technology,more and more people are concerned with the development of B/S mode.Now the application programs based on the web network is widely used in the platforms of applied system,service and management and has become the mainstream technology.The high performance efficiency and attractive interface are the key factors of a successful IT system.The Ajax technology is the one that can be attempted to apply.Ajax technology based on web system can provide a smooth operation interface to the administrators and the users.In data downloading,it is very convenient and smooth.And it can reduce the burden of the server.The only difference is that the local browser can asynchronously transform the information to another server.The use of Ajax technology can realize the function of the web system and synchronous transmission of information.While considering the security of the system,it also provides a user-friendly,highly interactive and responsive online downloading system based on Ajax.

Ajax technology;B/S mode;Web system

TP 311.52

A

1672-2434(2011)06-0028-04

2011-08-06

季 云(1982-),男,助理工程师,从事研究方向:计算机应用

猜你喜欢
控件页面客户端
刷新生活的页面
如何看待传统媒体新闻客户端的“断舍离”?
关于.net控件数组的探讨
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
ASP.NET服务器端验证控件的使用
Web安全问答(3)
网站结构在SEO中的研究与应用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用