ASP.NET与Ajax的实现方式小总结

所属分类: 网络编程 / AJAX相关 阅读数: 1797
收藏 0 赞 0 分享

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

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

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

private void Page_Load(object sender, System.EventArgs e)
{
  AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess.MyAjax));
}

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

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

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

jQuery 是继 prototype 之后又一个优秀的 Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。
它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。

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

jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery 能够使用户的 html 页保持代码和 html 内容分离,也就是说,不用再在 html 里面插入一堆js来调用命令了,只需定义 id 即可。

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

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

比如某个 ASPX 或者 HTML 页面里面有个 Button,点击触发 Ajax 加载数据,显示到 <SPAN ID=News> 里面。点击那个 Button 触发一个 JS 函数即可:

function GetNews()
{
      $("#News").html("Loading News......");
      $.ajax({
        type:"post",
        url:"/ajax.aspx?act=getnews",
        dataType:"html",
        data:"",
        success:function(result)
        {
          $("#News").html(result);
        }
        });
}

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

以上内容就是给大家分享的ASP.NET与Ajax的实现方式,希望大家喜欢。

更多精彩内容其他人还在看

ajax实现数据分页查询

这篇文章主要为大家详细介绍了ajax实现数据分页查询的相关资料,以及ajax实现对数据库的查询,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ajax实现三级联动的基本方法

这篇文章主要为大家详细介绍了ajax实现三级联动的基本方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Ajax 入门之 GET 与 POST 的不同处详解

这篇文章主要介绍了Ajax 入门之 GET 与 POST 的不同处详解,需要的朋友可以参考下
收藏 0 赞 0 分享

ajax响应json字符串和json数组的实例(详解)

下面小编就为大家带来一篇ajax响应json字符串和json数组的实例(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

纯JS实现AJAX局部刷新功能

下面给大家介绍JS实现AJAX局部刷新功能,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。对ajax实现局部刷新功能感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

Ajax同步和异步问题浅析及解决方法

通过ajax向后台发送和接收数据时,常常会出现同步异步问题。这篇文章给大家介绍Ajax同步和异步问题浅析,需要的朋友参考下
收藏 0 赞 0 分享

Ajax实现城市二级联动(一)

这篇文章主要为大家详细介绍了Ajax实现城市二级联动的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Ajax实现城市二级联动(二)

这篇文章主要为大家详细介绍了Ajax实现城市二级联动的相关资料,将省份用ajax请求并渲染,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Ajax实现城市二级联动(三)

这篇文章主要为大家详细介绍了Ajax实现城市二级联动的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

AJAX跨域请求JSONP获取JSON数据的实例代码

Asynchronous JavaScript and XML (Ajax) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 这篇文章主要介绍了AJAX跨域请求JSONP获取JSON数据的实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多