asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET与Ajax的实现方式


发布日期:2023年04月25日
 
ASP.NET与Ajax的实现方式
Ajax 应该不是一项技术是一种思想而已跟 ASPNET 以及其它 Web 开发语言没有什么太大关系这里只是谈谈 ASPNET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架

Ajax 已经很流行一阵子了现在谈 Ajax 觉得有点老土目前所谓的 Web 网站基本上没有不使用 Ajax 的就如使用 RSS 一样就如同一个标签贴上去就成了 Ajax 具体细节不谈其目的就是让用户触发一些操作的时候页面不会全部刷新只刷新待更新的部分页面加载数据的过程中用 Loading 的图片来表示正在加载数据不只是看起来挺不错也提高了用户的访问体验有一种酷酷的感觉

至于 ASPNET 中用到的 Ajax 我想大多数人使用的是 / AjaxProfessional 或者 ASPNET 中带有的 Atlas 框架因为都用过我感觉这些都不是很好的 Ajax 解决方案

AjaxPro 用起来不是很方便页面需要在 Page_Load 里面注册类似于

以下是引用片段

private void Page_Load(object sender SystemEventArgs e)

{

AjaxProUtilityRegisterTypeForAjax(typeof(DataAccessMyAjax));

}

而且 ASPX 页面要包含一个 Runat=Server 的 标记这样 会将用到的一些通用函数以及你自定义的函数加载进来如果没有 其实也可以手动添加就可以了但是在我以前做过的应用中时常出现的一些问题比如经常发现浏览器状态栏会有 js 脚本错误而此时你所做的 Ajax 效果会全部失效解决办法就是把那个 Ajaxdll /AjaxProdll 给重新覆盖一下就可以了问题的原因究竟是什么目前还不知道

至于 Atlas我对它的感觉其实就跟对 DataGrid 的感觉一样这种控件的好用是好用很方便但是真正做一些 Web 应用的时候你不得不考虑到性能以及分层等各种问题我想在比较正式的 Web 应用中没几个人去用 DataGrid 去显示一些数据吧建议大家尽量少用这些控件另外就是Atlas 的执行效率确实不够理想一直在那里 Loading等了好长时间竟然出现什么脚本错误

那还有没有其它解决方案吗?你可以自己写些 Javascript 函数去实现不过我这里推荐用 jQuery 这个 Javascript 框架从百度百科引用一段对其的介绍

jQuery 是继 prototype 之后又一个优秀的 Javascrīpt 框架其宗旨是——WRITE LESSDO MORE写更少的代码做更多的事情

它是轻量级的 js 库(压缩后只有k) 这是其它的 js 库所不及的它兼容 CSS还兼容各种浏览器 (IE + FF + Safari + Opera +)

jQuery 是一个快速的简洁的 javaScript 库使用户能更方便地处理 HTML documentsevents实现动画效果并且方便地为网站提供 AJAX 交互

jQuery 还有一个比较大的优势是它的文档说明很全而且各种应用也说得很详细同时还有许多成熟的插件可供选择

jQuery 能够使用户的 html 页保持代码和 html 内容分离也就是说不用再在 html 里面插入一堆js来调用命令了只需定义 id 即可

看来这段介绍你会知道Ajax 效果只是 jQuery 的众多功能的一种一般来说Web 应用中使用 Ajax必然也离不开 Javascript而 jQuery 正是为大家封装了一些 JS 函数使得你不在被 JS 的纷繁复杂所担心一切由 jQuery 帮你实现

看一个小例子就知道用 jQuery 做 Ajax 实在是太方便了

比如某个 ASPX 或者 HTML 页面里面有个 Button点击触发 Ajax 加载数据显示到 里面点击那个 Button 触发一个 JS 函数即可

以下是引用片段

function GetNews()

{

$(#Newsl(Loading News);

$ajax({

type:post

url:x?act=getnews

dataType:html

data:

success:function(result)

{

$(#Newsl(result);

}

});

}

这个函数就会先在那个 SPAN 里面显示Loading News通过异步调用访问 /Ajaxaspx 这个页面通过传递的 URL 参数 act=News 告诉页面需要什么类型的数据你可以根据不同的参数将数据通过 Ajaxaspx 直接 Write 到页面上然后返回给上述 JS 函数呈现到页面上就这样简单搞定!

当然jQuery 里面并不是只有这一种 Ajax 效果实现方式这里给出一些 jQuery 的资源花上几个小时的时间学一下很值得

jQuery 官网

jQuery 中文 API 文档

jQeury 中文入门教程

至于其它的 Javascript 优秀框架有很多了比如 Yahoo! User Interface LibraryPrototypeRicoQooxdooDojo 等另外还有 Ajax 方面一些资源可以参考一下这里收集的资源

上一篇:事实证明Ajax的世界更需要ASP.NET MVC

下一篇:ASP.NET MVC: DictionaryValueProvider