• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 漫谈Ajax在.Net中的使用

        AJAX出来的时间也不短了。虽然它在某些方面很受争议,但是瑕不掩瑜。AJAX不能说它属于哪门语言,而是任何一门语言与javascript,XML的交叉。我觉得,说Ajax是任何一门WEB语言与DHTML、XML的交叉这样更加合适。

        以下只讨论IE部分。

        Ajax在应用中使用有3个部分(个人观点):

        1、数据(一般通过IE内置组件Microsoft.XMLHTTP来取得或者发送数据);

        2、事件(事件指的是客户端事件,如果是服务端事件,那么AJAX也就没什么意义了);

        3、绑定(暂且就叫绑定吧,也可以说是显示,

      Asp.net中服务端控件事件是如何触发的
      ASP.NET中的代码分离,探索ASP.NET中Tailspin TravelUI层奥秘,在Asp.net MVC中使用Repeater,ASP.NET中实现模版的动态加载,探讨ASP.NET MVC框架内置AJAX支持编程技术,Asp.net中防止用户多次登录的方法,asp.net的MVC编程、MV编程以及URL重写,ASP.NET图片盗链问题,ASP.NET缓存:方法分析和实践示例,ASP.NET 仿MSN Messenger Alert的弹出窗口控件,ASP.NET中利用VWD操作数据库,Asp.Net中带图片的重填按钮,asp.net 2.0 TreeView客户端个性化控制,如何在.Net 中把图片存入数据库,ASP.NET AJAX框架开发幻灯片播放网页,ASP.NET AJAX框架开发幻灯片播放网页,asp.net在线压缩和解压缩的实现,ASP.NET的Postback,Asp.net中服务端控件事件是如何触发的,ASP.NET创建文件并写入内容
      ASP.net

      一般通过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是否兼容了。

      ASP.NET创建文件并写入内容
      ASP.NET中的代码分离,探索ASP.NET中Tailspin TravelUI层奥秘,在Asp.net MVC中使用Repeater,ASP.NET中实现模版的动态加载,探讨ASP.NET MVC框架内置AJAX支持编程技术,Asp.net中防止用户多次登录的方法,asp.net的MVC编程、MV编程以及URL重写,ASP.NET图片盗链问题,ASP.NET缓存:方法分析和实践示例,ASP.NET 仿MSN Messenger Alert的弹出窗口控件,ASP.NET中利用VWD操作数据库,Asp.Net中带图片的重填按钮,asp.net 2.0 TreeView客户端个性化控制,如何在.Net 中把图片存入数据库,ASP.NET AJAX框架开发幻灯片播放网页,ASP.NET AJAX框架开发幻灯片播放网页,asp.net在线压缩和解压缩的实现,ASP.NET的Postback,Asp.net中服务端控件事件是如何触发的,ASP.NET创建文件并写入内容
      ASP.net

    • 0
    • 0
    • 0
    • 52
    • 单栏布局 侧栏位置: