本系列文章其实算不上教程,只能算是在下的学习笔记。所有内容均取自ASP.NET开发队的Joe Stagner所做的"How Do I?"系列视频教程。在下面的讲解里我会列出所对应的视频教程,有能力的朋友可以自行观看,如果觉得听不懂老外说啥,也可以来参考一下我的学习笔记。
本系列文章主要介绍Ajax.net的使用方式,重点介绍Ajax.net的工具包Ajax-Toolkit中各种控件的使用方法。
这里就不再重复什么是Ajax.net以及它的光辉历史了,我们直接开始。
第一步:安装Ajax.net。
安装Ajax.net很简单,但安装Ajax.net扩展包之前我们必须确保我们已经正确安装了VS.Net 2005或Visual Web Developer 2005 Express Edition和.net Frameworks 2.0。
我们可以登录Ajax.net官方网站下载Ajax.net扩展包。地址:http://ajax.asp.net/downloads/default.aspx?tabid=47
下载完之后双击安装,安装后大家可以看一下更新文档,看看Ajax.net究竟更新了什么功能。
第二步:建立Ajax-Enabled网站
打开Vs.Net2005,选择新建网站,如果你已成功安装Ajax.net扩展包,你会发现在项目模板里会多了一项:Asp.net Ajax-Enabled Web Site。选择它然后新建一个网站。
建立网站后你会发觉Ajax-Enabled网站会比一般网站多出了一个ScriptManager控件。ScriptManager是Ajax.net一个很重要的控件,它在一个页面内只能出现一次(如果使用了Masterpage,那么Masterpage使用了ScriptManger后,子页面就不能再使用了),负责处理当前页面所有Ajax.net组件和局部更新。它也可以指定我们所需的脚本库,提供更灵活的操作,更详细的介绍请查看MSDN相关描述。
第三步:构建简单的Ajax.net程序
我们可以先随便拖两个Label控件和一个Button控件进入设计窗口,然后编写常规的Asp.net程序,例如输出日期到两个Label控件上。
运行后我们能看到预期的效果,每次点击Button,页面都会刷新,两个Label上的时间都会发生改变。那么我们怎么利用Ajax.net使到功能一样,但页面却不会刷新呢。我们需要使用UpdatePanel控件来完成。
从工具栏里拖出UpdatePanel控件,然后把其中一个Label控件和Button控件拖进UpdatePanel范围里面,如图所示,然后运行。
我们可以发现,当我们再次点击Button的时候,在UpdatePanel里的Label控件依然会改变显示时间,而且页面也不再刷新了,但UpdatePanel外的Label控件则没有发生变化。这就是Ajax.net局部刷新现象,在UpdatePanel范围里的控件会根据逻辑进行相应的改变而不需通过重新请求页面。而UpdatePanel以外的控件虽然根据逻辑会改变值,但由于页面没有重新请求,它们的改变反映不出来,因此就没有任何变化了。
我们也可以把Button拉出UpdatePanel而达到同样的效果,但我们需要定义UpdatePanel的触发条件。我们切换到HTML模式,填写触发代码,如下图所示:
运行,效果与刚才一样。
结束:
本节主要介绍了怎样安装Ajax.net扩展包以及如何建立一个简单的Ajax.net网站,大家可以通过以上例子举一反三,做出很多简单的Ajax特效。