======================================================
注:本文源代码点此下载
======================================================
1. 使用timer+ multiview, 先显示view1, 待timer中的执行完成之后,再显示view2即可. view1即loading提示内容,view2为真正要显示的内容.
可以针对整个页面使用.如果view2中的内容显示失败,则显示view3(错误提示),
通过模拟btn_click,这样在page_load时候就可以调用ajax-loading. 从而可以实现整个页面上的所有postback control显示ajax-loading.
通过使用master页面,自定义一个page基类,
可以针对button_click, gridview_pageindex触发master中的timer对象,从而间接实现需要显示loading的服务器控件
如果需要做成框架化,即只要是postback事件,则显示ajax-loading. 也许可以通过httphandler实现.不过网上也应该有类似的框架了.
2. 使用http://msmvps.com/blogs/omar/archive/2007/11/09/on-demand-ui-loading-on-ajax-websites.aspx
中说的技术,即将内容放在另一个网页,然后在主页面中使用xmlhttp调用内容,然后输出到主页面的div中.此方法可以将一个页面分成
多个部分同时异步调用,效果很好.而且能单独load某个部分,做到partial render. 可以针对整个页面使用. 同时输出某一部分之后,提示当前加载进度.
示例: www.dropthings.com
3. 使用updatepanel/updateprogess刷新局部内容,如一个查询按钮.同时可以结合modalprogess或updatepanelanimationextender产生一些效果,
如禁用当前背景页面.针对局部页面使用.
4. 使用ajax的控件.如calendarextender, autocomplete. cascading dropdownlist. 针对单个控件使用.
5. 另外一种应用就是扩展某些ajax-control,如使用cascading dropdownlist与user control, cache结合, 将这些几乎固定不变的数据包装成直接使用的web control,放到任何一个页面上均可以使用,也减少了代码量
涉及到的示例下载: /files/margiex/ajax.rar
ref
使用timer的示例:
http://www.codeproject.com/kb/ajax/delayedcontentloading.aspx
部分加载的示例
http://msmvps.com/blogs/omar/archive/2007/11/09/on-demand-ui-loading-on-ajax-websites.aspx
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/