漫谈Ajax在ASP.Net中的使用

转载 2012年03月23日 16:05:06

AJAX出来的时间也不短了。虽然它在某些方面很受争议,但是瑕不掩瑜。AJAX不能说它属于哪门语言,而是任何一门语言与JavaScript,XML的交叉。我觉得,说Ajax是任何一门WEB语言与DHTML、XML的交叉这样更加合适。
                  以下只讨论IE部分。
                  Ajax在应用中使用有3个部分(个人观点):
                  1、数据(一般通过IE内置组件Microsoft.XMLHTTP来取得或者发送数据);
                  2、事件(事件指的是客户端事件,如果是服务端事件,那么AJAX也就没什么意义了);
                  3、绑定(暂且就叫绑定吧,也可以说是显示,一般通过DHTML来完成)。
                  从上面看,Ajax就使用了Microsoft.XMLHTTP组件和DHTL。其实还有另外一部分,就是服务器端的处理。
                  一、简单示例
                  就最简单的原型来说,就是取得数据:
                  a.aspx的内容如下:
                  aaaaab.aspx取得
                  <div id="MyShow"/>
                  <script language="JavaScript">
                      var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
                      //数据传输,flase为非异步方式
                      xmlhttp.open("GET","a.aspx",true);
                      xmlhttp.onreadystatechange=function() {
                      if (xmlhttp.readyState==4) {
                          MyShow.InnerText = xmlhttp.responseText;
                     }
                     if (xmlhttp.readyState==3) {
                          MyShow.InnerText  = ('正在提交数据');
                     }
                    }
                      xmlhttp.send(null);
                  }
                  </script>
                  a.aspx提供可数据
                  xmlhttp.open("GET","a.aspx",true);就是请求a.aspx

                      if (xmlhttp.readyState==4) {
                          MyShow.InnerText = xmlhttp.responseText;
                     }
                  当异步请求完成时,用DHML改变MyShow的内容。
                  二、GET方法
                  更改a.aspx如下:
                  <script runat="Server" language="C#">
                  string flag = Request["flag"] == null ? "" : Request["flag"];
                  switch(flag)
                  {
                      case "1":
                          Response.Write("11111111111111");
                          break;
                      case "2" :
                          Response.Write("22222222222222");
                          break;
                  }
                  </script>
                  把b.aspx中
                  xmlhttp.open("GET","a.aspx",true);改成xmlhttp.open("GET","a.aspx?flag=1",true);
                  则得到数据11111111111111
                  xmlhttp.open("GET","a.aspx",true);改成xmlhttp.open("GET","a.aspx?flag=2",true);
                  则得到数据22222222222222
                  三、POST方法
                  如果有这样一个表单
                  <form method=post>
                      <input name="p1" type=text />
                  <input name="p2" type=submit/>
                  </form>
                  用AJAX就是
                  <div id="MyShow"/>
                  <script language="JavaScript">
                      var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
                      //数据传输,flase为非异步方式
                      xmlhttp.open("Post","a.aspx",true);
                      xmlhttp.onreadystatechange=function() {
                      if (xmlhttp.readyState==4) {
                          MyShow.InnerText = xmlhttp.responseText;
                     }
                     if (xmlhttp.readyState==3) {
                          MyShow.InnerText  = ('正在提交数据');
                     }
                    }
                        
                  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                      xmlhttp.send("p1=qwdqwdqwdqwd"); //这里是POST要提交的数据。
                  }
                  </script>
                  而一般模拟请求都是POST和Get同时存在的
                  只要把
                   xmlhttp.open("Post","a.aspx",true);
                  里a.aspx加上get请求部分就可以了。
                  而在.Net中特别得,可以把Ajax写成服务器组件来使用。现在在实际项目中如果使用Ajax很多的情况,就有个专门的组件来使用了。还有就是要注意,在很多时候Ajax的时候要设置页面不缓存。而如果要兼容非IE内核浏览器,那么就要注意各种内核浏览器的JS是否兼容了。

漫谈Ajax在ASP.Net中的使用

               AJAX出来的时间也不短了。虽然它在某些方面很受争议,但是瑕不掩瑜。AJAX不能说它属于哪门语言,而是任何一门语言与JavaScript,XML的交叉。我觉得,说Ajax...
  • vbwhere
  • vbwhere
  • 2008年11月19日 10:42
  • 328

ASP.NET AJAX 控件使用概述

一、ASP.NET AJAX 控件概述 借助 ASP.NET AJAX 控件,使用很少的客户端脚本或不使用客户端脚本就能创建丰富的客户端行为,如在异步回发过程中进行部分页更新(在回发时刷新网页的选定...
  • qustdjx
  • qustdjx
  • 2013年12月22日 20:44
  • 1764

asp.net中ajax.ajaxMethod使用方法和实例

asp.net中ajax.ajaxMethod使用方法和实例 使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法,做一些JS无法做到的操作,如查...
  • csmzl
  • csmzl
  • 2016年12月09日 16:47
  • 720

在asp.net web form 中使用ajax

在asp.net web form 中使用ajax 首先可以先去看看一篇兄弟文章:http://blog.csdn.net/mfcdestoryer/article/details/22041975...
  • MFCdestoryer
  • MFCdestoryer
  • 2014年03月25日 12:30
  • 2814

ASP.NET利用Ajax进行前后台值传递

由于项目需要,最近涉及到许多网站页面前后台值传递问题,在这里做一个小总结,今天主要对Ajax传递数据做一个最简单的应用实例。         之前一直没有用过Ajax,许多时候看到这个词我都是抵触的,...
  • SmallXianNotImmortal
  • SmallXianNotImmortal
  • 2017年07月11日 13:05
  • 542

ASP.NET AJAX常用控件

前言 ASP.NET AJAX技术架构主要分为客户端脚本库和服务端组件两大部分,它是AJAX技术的一种,以AJAX的技术框架为依托,在Web浏览器和服务器之间建立通信的桥梁。ASP.NET AJAX...
  • iFuMI
  • iFuMI
  • 2016年07月07日 19:08
  • 498

Asp.Net Ajax (1)---入门篇

在深入学习Ajax前,有必要了解一些基础,对我们整体认识Ajax很有帮助。     文章将从一下几点介绍Ajax:     Ajax是什么;         能解决什么问题;         使用什么...
  • lishuangzhe7047
  • lishuangzhe7047
  • 2013年11月19日 16:16
  • 7854

AJAX面试题:一个页面实现增删改查(ASP.NET实现)

【下载】 很多asp.net程序员面试的时候都遇到过用ajax效果实现一个页面的增删改查。这几个例子分别用纯JS,JQUERY及JSON实现。希望对大家有些帮助。 这里面的例子表格内容的刷新是直接...
  • aley
  • aley
  • 2015年03月27日 09:24
  • 1229

浪曦视频在线的ASP.NET AJAX视频教程下载

下面是来自浪曦视频在线的ASP.NET AJAX视频教程,大家赶快下载啊!感谢浪曦视频在线!1、ASP.NET AJAX基本原理电信下载:ftp://Anonymous@203.191.150.171...
  • yandong19861103
  • yandong19861103
  • 2008年04月24日 16:55
  • 915

ASP.NET MVC AJAX的调用示例

@{ ViewBag.Title = "Home Page"; //下面引用Jquery和unobtrusive-ajax } @Scripts.Render("~/bundles/j...
  • smartsmile2012
  • smartsmile2012
  • 2016年06月27日 14:44
  • 3214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:漫谈Ajax在ASP.Net中的使用
举报原因:
原因补充:

(最多只允许输入30个字)