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


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

    第一个是被替换的网页

    <!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有三秒的延迟加载
    前三秒
    在这里插入图片描述

    后三秒

    在这里插入图片描述

  • 相关阅读:
    .NET CORE技术路线图
    .Net Core之Configuration
    30+程序员
    Source Insight无限试用期修改方法
    WALT(Window Assisted Load Tracking)学习
    使用Mac的Remote Desktop Manager连接ubuntu16.04 & Win10的远程桌面
    进程调度函数scheduler_tick()的触发原理:周期PERIODIC定时器
    Linux、Android系统调用从上层到底层的调用路径浅析
    Ftrace的部分使用方法
    CPU efficiency测量标准:DMIPS
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074629.html
Copyright © 2020-2023  润新知