ASP.NET中AJAX的异步加载(Demo演示)

发布时间:2022-04-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ASP.NET中AJAX的异步加载(Demo演示)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

此次的Demo是一个页面,页面上有两行字,然后后面用AJAX,使用一个下拉框去替换第一行文字[/code]

第一个是被替换的网页

@H_777_5@ <!DOCTYPE htML> <html> <head> <;meta charset="utf-8" /> <tITle></title> <script type="text/javascript"> VAR XMlHttPRequest; function createXmlHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器 } else { xmlHttpRequest = new window.XMLHttpRequest();//谷歌等浏览器 } } function sendRequest() { createXmlHttpRequest();//获取对象 xmlHttpRequest.onreadystatechange = function () { if (xmlHttpRequest.readyState == 4) { if (xmlHttpRequest.status == 200) { document.getElementById("divContent").innerHTML = xmlHttpRequest.responseText; } } }; xmlHttpRequest.open("POST", "DeptHandler.ashx", true); xmlHttpRequest.send(null); } </script> <!--<script type="text/javascript"> var xmlHttpRequest; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器 } else { xmlHttpRequest = new window.XMLHttpRequest();//谷歌等浏览器 } } //请求数据 function sendRequest() { createXMLHttpRequest(); xmlHttpRequest.onreadystatechange = function () { if (xmlHttpRequest.readstate == 4) { if (xmlHttpRequest.status == 200) { document.getElementById("divContent").innerHTML = xmlHttpRequest.responseText; } } } xmlHttpRequest.open("POST", "DeptHandler.ashx", true); xmlHttpRequest.send(null); } </script>--> </head> <body> <div> <div id="divContent"> <p style="color:red">这里显示部门信息</p> </div> <script type="text/javascript">sendRequest()</script> <div> <p style="color:red">这里显示部门信息结束了</p> </div> </div> </body> </html>

第二个是一个类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication2
{
  public class Dept
  {
    public int Id { get; set; }

    public string DeptName { get; set; }
  }
}

然后是一个一般处理程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;

namespace WebApplication2
{
  /// <summary>
  /// DeptHandler 的摘要说明
  /// </summary>
  public class DeptHandler : IHttpHandler
  {

    public void ProcessRequest(HttpContext context)
    {
      //这里的AJAX进行了三秒的延迟
      Thread.Sleep(3000);
      List<Dept> depts = new List<Dept>
      {
        new Dept(){Id=1,DeptName="财务部"},
        new Dept(){Id=2,DeptName="研发部"},
        new Dept(){Id=3,DeptName="市场部"}
      };
      StringBuilder sb = new StringBuilder();
      sb.AppendLine("<select>");
      foreach (var item in depts)
      {
        sb.AppendLine($"<option id = {item.Id}>{item.DeptName}</option>");
      }
        
      sb.AppendLine("</select>");
      context.Response.ContentType = "text/plain";
      context.Response.Write(sb);


    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }
}

效果图

AJAX有三秒的延迟加载

前三秒

后三秒

到此这篇关于ASP.NET中AJAX的异步加载(Demo演示)的文章就介绍到这了,更多相关ASP.NET中AJAX异步加载内容请搜索脚本宝典以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本宝典!

脚本宝典总结

以上是脚本宝典为你收集整理的ASP.NET中AJAX的异步加载(Demo演示)全部内容,希望文章能够帮你解决ASP.NET中AJAX的异步加载(Demo演示)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。