准备工作:新建网站,建立两个页面,index.aspx和backstage.aspx,
在工程目录下新建一个文件夹命名和image,在这里添加一个loading.gif,模拟提交进度
一,前台页面代码:在index.aspx中编写
1,在网页要显示数据的地方,添加一个DIV.源代码如下
<
div
id
="showtext"
></
div
>
2, 添加脚本程序,代码如下。
代码
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
function GetTextFromBack() {
document.getElementById( ' showtext ' ).setAttribute( " innerHTML " , " <img src=\ " image / loading.gif\ " />载入中... " );
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = new ActiveXObject( " Microsoft.XMLHTTP " );
}
xmlhttp.onreadystatechange = function() {
if ( 4 == xmlhttp.readyState) {
if ( 200 == xmlhttp.status) {
var Bodys = xmlhttp.responseText;
document.getElementById( ' showtext ' ).setAttribute( " innerHTML " , Bodys);
// parent.document.all.iframemain.style.height = window.document.body.scrollHeight;
// parent.document.all.iframemain.style.width = window.document.body.scrollWidth;
}
}
}
xmlhttp.open( " post " , " backstage.aspx?name= " + " zhangfei " , true );
xmlhttp.setRequestHeader( ' Content-type ' , ' application/x-www-form-urlencoded ' );
xmlhttp.send( "" );
}
</ script >
function GetTextFromBack() {
document.getElementById( ' showtext ' ).setAttribute( " innerHTML " , " <img src=\ " image / loading.gif\ " />载入中... " );
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = new ActiveXObject( " Microsoft.XMLHTTP " );
}
xmlhttp.onreadystatechange = function() {
if ( 4 == xmlhttp.readyState) {
if ( 200 == xmlhttp.status) {
var Bodys = xmlhttp.responseText;
document.getElementById( ' showtext ' ).setAttribute( " innerHTML " , Bodys);
// parent.document.all.iframemain.style.height = window.document.body.scrollHeight;
// parent.document.all.iframemain.style.width = window.document.body.scrollWidth;
}
}
}
xmlhttp.open( " post " , " backstage.aspx?name= " + " zhangfei " , true );
xmlhttp.setRequestHeader( ' Content-type ' , ' application/x-www-form-urlencoded ' );
xmlhttp.send( "" );
}
</ script >
3,加入一个触发事件的按钮
<
input
type
="button"
onclick
="GetTextFromBack()"
style
="width: 77px"
/>
二,后台页面,backstage.aspx
1,清除backstage.aspx中的html的内容,除一第一行的源代码,如下所示
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
backstage.aspx.cs
"
Inherits
=
"
backstage
"
%>
只保存这一行,不然的话,后面发送的时候,会把其他代码都做为字符串发送回去。
2, 进行C#源程序编辑界面backstage.aspx.cs,添写如下代码
代码
protected
void
Page_Load(
object
sender, EventArgs e)
{
string nameFormat = Request.Params[ " name " ];
nameFormat = " 你的名字是: " + nameFormat;
Response.Write(nameFormat);
}
{
string nameFormat = Request.Params[ " name " ];
nameFormat = " 你的名字是: " + nameFormat;
Response.Write(nameFormat);
}
到此就可以模拟出AJAX功能了。
可以以此程序为模板,后台拼写字符串,以实现复杂的操作。
注: 以下这条代码的意思是,是重载onreadystatechange方法,
xmlhttp.onreadystatechange
=
function
() {
......
}
......
}
类似的可以,重写
window.onload
=
function
()
{
parent.document.all.pzright.style.height = window.document.body.scrollHeight;
parent.document.all.pzright.style.width = window.document.body.scrollWidth;
}
{
parent.document.all.pzright.style.height = window.document.body.scrollHeight;
parent.document.all.pzright.style.width = window.document.body.scrollWidth;
}
可以利用原有的函数,实现在自已特定的功能。