ASP.NET中AJAX的異步加載(Demo演示)
此次的Demo是一個(gè)頁(yè)面,頁(yè)面上有兩行字,然后后面用AJAX,使用一個(gè)下拉框去替換第一行文字[/code]
第一個(gè)是被替換的網(wǎng)頁(yè)
<!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();//獲取對(duì)象
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();//谷歌等瀏覽器
}
}
//請(qǐng)求數(shù)據(jù)
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">這里顯示部門信息結(jié)束了</p>
</div>
</div>
</body>
</html>
第二個(gè)是一個(gè)類
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; }
}
}
然后是一個(gè)一般處理程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;
namespace WebApplication2
{
/// <summary>
/// DeptHandler 的摘要說(shuō)明
/// </summary>
public class DeptHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//這里的AJAX進(jìn)行了三秒的延遲
Thread.Sleep(3000);
List<Dept> depts = new List<Dept>
{
new Dept(){Id=1,DeptName="財(cái)務(wù)部"},
new Dept(){Id=2,DeptName="研發(fā)部"},
new Dept(){Id=3,DeptName="市場(chǎng)部"}
};
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有三秒的延遲加載
前三秒

后三秒

到此這篇關(guān)于ASP.NET中AJAX的異步加載(Demo演示)的文章就介紹到這了,更多相關(guān)ASP.NET中AJAX異步加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
.net下實(shí)現(xiàn)Word動(dòng)態(tài)填加數(shù)據(jù)打印
.net下實(shí)現(xiàn)Word動(dòng)態(tài)填加數(shù)據(jù)打印...2007-04-04
asp.net(C#)實(shí)現(xiàn)功能強(qiáng)大的時(shí)間日期處理類完整實(shí)例
這篇文章主要介紹了asp.net(C#)實(shí)現(xiàn)功能強(qiáng)大的時(shí)間日期處理類,封裝了針對(duì)日期與時(shí)間的各種常用的判斷與計(jì)算功能,非常方便實(shí)用,需要的朋友可以參考下2016-06-06
gridview行索引獲取方法及實(shí)現(xiàn)代碼(非js版)
前一篇是用Javascript獲取GridView的行索引,此篇Insus.NET使用非Javascript獲取GridView的行索引,感興趣的朋友可以了解下2013-01-01
asp.net操作Word實(shí)現(xiàn)批量替換
這篇文章主要介紹了asp.net操作Word實(shí)現(xiàn)批量替換的方法,需要的朋友可以參考下2015-10-10
asp.net上傳文件到數(shù)據(jù)庫(kù)的解決方案
這篇文章主要介紹了ASP.NET上傳文件到數(shù)據(jù)庫(kù),先從文字上了解一下上傳文件到數(shù)據(jù)庫(kù)的具體步驟,再?gòu)拇a上來(lái)實(shí)現(xiàn),需要的朋友可以參考下2015-09-09
一個(gè)簡(jiǎn)答的Access下的分頁(yè)asp.net代碼
一個(gè)簡(jiǎn)答的Access下的分頁(yè)asp.net代碼2010-03-03
asp.net SqlParameter如何根據(jù)條件有選擇的添加參數(shù)
有時(shí)候?qū)憇ql語(yǔ)句的時(shí)候會(huì)根據(jù)方法傳進(jìn)來(lái)的參數(shù)來(lái)判斷sql語(yǔ)句中where條件的參數(shù),下面有個(gè)示例,大家可以參考下2014-06-06

