AJAX俺也不会,是真的,不过,以后就会了,因为俺要学习了,呵呵,先把下面的文章收藏起来:

Ajax研究小结 ((作者:李天平    转载请注明))
转自:http://www.cnblogs.com/ltp/archive/2005/12/03/289725.html

Ajax最近可谓是流行加火热,为web开发中的刷新问题带来了新的生机与希望。虽然这项技术在很久以前就有人在用,无非是XMLHttpRequest JavaScript的几项技术按一定的方式组合,也算不得什么新技术,但挂了一个名,做了一个封装,还是为不少开发人员提供了很多便捷。因此,我也抽出时间来研究了一下,并且应用到当前的项目里,同时做个小结放在这里。

具体使用:

1. 在项目中添加引用Ajax.dll (我用的版本是5.7.22.2)

2. 修改web.config,在里面增加

<configuration>
  <system.web>
    <httpHandlers>
    <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers>  
    
  <system.web>
</configuration>

3. 新建一个实现业务逻辑的类,并在里面增加方法,在方法上面加上[Ajax.AjaxMethod()]。如:

/// <summary>

/// 业务逻辑的类

/// </summary>

public class AjaxBLLClass

{

public AjaxBLLClass()

{

}

[Ajax.AjaxMethod()]

public string GetPlaceList(int ClassID)

{

Advertisement.BLL.ADManage.AdPlace adplace=new Advertisement.BLL.ADManage.AdPlace();

DataSet ds=adplace.GetListByClass(ClassID);

string str="";

for(int m=0;m<ds.Tables[0].Rows.Count;m++)

{

str+=","+ds.Tables[0].Rows[m]["PlaceID"].ToString()+"|"+ds.Tables[0].Rows[m]["PlaceName"].ToString();

}

str=str.Substring(1,str.Length-1);

return str;

}

4. 在调用页的.cs的Page_Load事件中增加一行类注册代码

private void Page_Load(object sender, System.EventArgs e)
 {
   //注册类获得有效的方法
   Ajax.Utility.RegisterTypeForAjax(typeof(AjaxBLLClass));
  }

注意:typeof(AjaxBLLClass)中,AjaxBLLClass是要包含要调用方法的类,即上面第3步新建的业务逻辑类AjaxBLLClass

5. 在调用页页面文件中或者单独写一个js文件,用Javascript代码调用业务逻辑的类的方法。如:

function classResult()

{

var classid=document.getElementById("DropClassID");

AjaxBLLClass.GetPlaceList(classid.value,get_class_Result_CallBack);//调用业务逻辑类方法

}

function get_class_Result_CallBack(response)

{

if (response.value != null)

{

document.getElementById("DropPlaceID").length=0;

               var piArray = response.value.split(",");

          for(var i=0;i<piArray.length;i++)

          {

             var ary1 = piArray[i].toString().split("|");

             document.getElementById("DropPlaceID").options.add(new Option(ary1[1].toString(),ary1[0].toString()));

          }     

}

return

}

6. 调用

<asp:dropdownlist id="DropClassID" runat="server" Width="250px" onchange=” classResult()”></asp:dropdownlist>

注:如果是低版本的Ajax需修改Global.asax的Application_Start事件,设置Ajax的HandlerPath :

protected void Application_Start(Object sender, EventArgs e)
  {
     //Ajax.Utility.HandlerPath = "ajax";//老版本的需要
  }

使用感受:个人认为虽然它从一定程度上解决了页面的刷新问题,但却需要写大量的脚本代码,并且和.net的控件和类库结合还不是很好,还不适合在项目里大量地使用,在一些对刷新要求不是太高的地方还是用ASP.NET的编码方式好一些。

示例代码下载

附上一些Ajax资源

http://ajax.schwarz-interactive.de

http://weblogs.asp.net/mschwarz/

http://groups.google.com/group/ajaxpro?lnk=li

MSDN上的Atlas 网站

ASP.NET "Atlas" 官方网站

ASP.NET "Atlas" 预览文档

Atlas  快速入门教程

AJAX俺也不会,是真的,不过,以后就会了相关推荐

  1. 打开ajax大门的新世界(我真的很喜欢这篇内容!)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.ajax是什么? 二.使用实例 三.ajax封装 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不 ...

  2. java ajax异步验证,【求助】真的不会做了。。关于AJAX异步验证的问题。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是NameExistCheck.java.. package client; import java.io.*; import java.sql.Con ...

  3. AJAX并不神秘:揭密各种AJAX控件和类库

    Ajax控件和类库现在真的太多了,不知不觉中增加了Ajax的神秘性和复杂性,看到版内很多人为此费解和伤神,决定发此贴谈谈本人对Ajax的观点,希望能让大家对Ajax有一个本质的认识. 观点一:Ajax ...

  4. 学ajax要学php吗,javascript – Ajax新手学习(PHP JQuery)

    我是 AJAX的新手,我正在尝试阅读整个页面并更改其中的元素而不刷新. 我有一个看起来像这样的页面: 我正在使用PHP& JQuery的.每当我点击任何tr时,它都会获取id并将db中分配的数 ...

  5. jquery1.4.4 ajax在页面关闭时无法abort,jquery ajax abort()的使用方法

    jquery ajax abort()的使用方法 由于使用的是jquery,挡在手册里没有找到关于.abort()方法,在网上搜索了一下,在http://ooxx.me/jquery-ajax-abo ...

  6. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续

    目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...

  7. 同源策略的限制,没有同源策略会怎么样?

    目录 同源策略 同源策略的执行 说说同源策略的限制 没有同源策略的危害 同源策略 之前学习跨域方式的时候介绍过同源策略,但是学习真的不能知其一而不知其意,当时只是简单的了解,昨天面试随着面试官加深的询 ...

  8. 前端HTTP、浏览器面试题

    浏览器存储的方式有哪些 特性 cookie localStorage sessionStorage indexedDB 数据生命周期 一般由服务器生成,可以设置过期时间 除非被清理,否则一直存在 页面 ...

  9. 2020前端系列——浏览器、HTTP

    目录 浏览器存储的方式有哪些 对前后端跨域可以说一下吗?如何解决跨域的? 浏览器 cookie 和 session 的认识. 输入URL发生什么? 浏览器渲染的步骤 页面渲染优化 强制缓存和协商缓存 ...

  10. 如何学习前端?看这篇就够了

    引子 ​ 作为一个前端工作多年的老鸟,见过各种各样的萌新入行前端,正好有些时间,把心里的一些话写一写,实在是不吐不快. ​ 我见过入职之后不明白什么是前端是做什么的"中级前端". ...

最新文章

  1. 专家点评Science:中英合作揭示拟南芥三萜化合物特异调控根系微生物组
  2. 机器学习第5天:逻辑回归
  3. GMM-HMM语音识别模型 原理篇
  4. MySQL高级 - 查询缓存 - 配置参数
  5. client copy sap论坛上看到的
  6. Java语法基础50题训练(上)
  7. python3.7打包exe坑_[求助]入坑学习python 需要装pyinstaller打包成exe
  8. php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?
  9. android 10 apk 存储适配,AndroidQ(10) 分区存储适配方法
  10. python elif可以单独使用_elif可以单独使用。( )_学小易找答案
  11. js判断时间是早上还是下午_测血糖别在下午,测空腹血糖早上几点最准确?
  12. AI Challenger 2018:细粒度用户评论情感分类冠军思路总结
  13. java怎么返回string_黄瓜Java-如何在下一步中使用返回的String?
  14. vue的零碎知识点-黑马后台项目整理
  15. 推荐收藏|9个国外知名免费高清图片素材网站
  16. 如何创建自己的社区平台_建立自己的平台
  17. Think On Paper
  18. Unity-黑暗之魂复刻-手柄接入与配置(Joystick)
  19. 高斯PDF的性质及其推论
  20. 如何编辑eps格式的图片

热门文章

  1. 小米做的这件事,捍卫了你的隐私
  2. 七年终登Science封面:最强大脑皮层神经网络重建,揭示迄今哺乳动物最大神经线路图...
  3. Fundebug录屏插件更新至0.4.0,修复BUG,优化性能
  4. python 实现分治法的几个例子
  5. Android onPause()和onStop()区别
  6. JavaScript标准库系列——RegExp对象(三)
  7. Connect(); // 2015 简要整理
  8. WebLogic使用总结(一)——WebLogic安装
  9. AngularJS 、Backbone.js 和 Ember.js 的比较
  10. (运维)VMware-vCenter-Server-Appliance-5.0安装与部署