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

 更新时间:2015年09月14日 09:57:27   作者:cacard  
Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。感兴趣的朋友跟着小编一起学习asp.net与ajax的实现方式

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跳转到新的jsp页面的方法

    ajax跳转到新的jsp页面的方法

    这篇文章主要介绍了ajax跳转到新的jsp页面的方法,在不刷新整个页面的情况下更新页面的局部信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Ajax带提示的验证表单实例

    Ajax带提示的验证表单实例

    这篇文章主要介绍了Ajax带提示的验证表单,可实现对表单输入进行实时提示的功能,非常简单实用,需要的朋友可以参考下
    2015-08-08
  • json格式的Ajax提交示例代码

    json格式的Ajax提交示例代码

    这篇文章主要介绍了json格式的Ajax提交,需要引入一些jar包及js包,示例代码如下
    2014-08-08
  • AJAX初级应用-RSS无刷新聚合器的代码与下载

    AJAX初级应用-RSS无刷新聚合器的代码与下载

    AJAX初级应用-RSS无刷新聚合器的代码与下载...
    2007-03-03
  • AJAX和JSP混合使用方法实例

    AJAX和JSP混合使用方法实例

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。下面通过本文给大家介绍AJAX和JSP混合使用方法实例,感兴趣的朋友一起学习吧
    2016-02-02
  • AJAX在不同浏览器中XMLHttpRequest对象的生成示例

    AJAX在不同浏览器中XMLHttpRequest对象的生成示例

    本文为大家介绍下AJAX在不同浏览器中XMLHttpRequest对象是怎样生成的,以方便我们针对不同浏览器进行测试,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-07-07
  • Ajax+php实现商品分类三级联动

    Ajax+php实现商品分类三级联动

    这篇文章主要介绍了Ajax+php实现商品分类三级联动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Lavarel框架中使用ajax提交表单的方法

    Lavarel框架中使用ajax提交表单的方法

    因为laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,下面通过本文给大家分享lavarel框架中使用ajax提交表单的方法,一起看看吧
    2016-12-12
  • Ajax核心XMLHttpRequest总结

    Ajax核心XMLHttpRequest总结

    本文主要是给大家总结了一下Ajax的核心内容XMLHttpRequest的相关知识,十分的详细,推荐给大家,需要的小伙伴参考下。
    2015-02-02
  • 深入剖析$.ajax()方法

    深入剖析$.ajax()方法

    下面小编就为大家带来一篇深入剖析$.ajax()方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-04-04

最新评论