这几天接手了一个BS模式的程序,心血来潮,准备把AJAX风格的页面引入进来,倒腾了一会,把magicajax的一个初级的DEMO做了出来,现在把整个过程放出来.
1.到http://sourceforge.net/projects/magicajax下载最新版本的MA,然后解压缩,导入到你的工具箱中(如图一,图二,图三所示),
图一
图二
图三
然后就会见到四个新加入的控件(如图四),分别是
这个是基本的异步通讯容器,你只要把以前需要PostBack的组件(比如按钮)放在这个Panel里就可以实现无刷新页面的效果了
这个组件的作用主要是获取在一个回调(CallBack)陷入中的状态,说明书上说使用这个组件可以稍稍提高服务器的响应速度.
捕获一个客户端事件的触发器,需要注意的是,需要把它的事件名称与客户端触发的事件名称对应起来,并且ControlID属性必须和发布事件的客户端的属性吻合.
这个是客户端事件的捕获器,用来捕获客户端激发的事件,比如点击click,聚焦forcus等等.
图四
在工程的web.config里添加下面几处配置:
<configSections>
<section name="magicAjax"
type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<magicAjax
outputCompareMode="HashCode"
tracing="false">
<pageStore
mode="NoStore"
unloadStoredPage="false"
cacheTimeout="5"
maxConcurrentPages="5"
maxPagesLimitAlert="false"
/>
</magicAjax>
在system.web节点里添加
<httpModules>
<add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
</httpModules>
下面就进入了实质性的阶段,使用MagicAjax.net建立一个无刷新的显示时间操作.
打开一个aspx文件,然后在上边拖入一个AjaxPanel,然后拖入一个textbox和button(图五),然后的事情和普通方式的调用一样了.在button的click事件响应逻辑里添加:
tb_time.Text = System.DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss");
图五
结果如图六,就这么简单一步,试试吧.
图六
PS:腾讯的浏览器老是出故障.好不容易写到一半的文章又没有了,重头来过吧.还有,这个是第一次写图文教程,希望老鸟慢点砸.