分享
 
 
 

Ajax基础-服务器端ASP.net脚本请求和响应

王朝asp·作者佚名  2006-07-13
窄屏简体版  字體: |||超大  

Ajax基础-XMLHttpRequest对象的创建、数据请求和处理中已经介绍了XMLHTTPREQUEST对象的使用。下面是使用该对象请求服务器数据。

代码在IE6、FireFox1.5、NetScape8.1、Opera9调试通过。服务器为Window2000P + IIS5+ASP.net 2.0

1、使用XMLHTTPREQUEST对象请求ASP.Net文件

这里仍然使用GET方法来请求服务器端数据,与上篇不同的是,这次请求的是ASP.Net的脚本文档而不是XML文件,需要服务器解析并返回数据。客户端得到数据后依然直接显示。

///// ASP.net处理过程,请求ASP.net文件

function startRequestFromServer()

{

createXMLHttpRequest();

xhr.onreadystatechange = handleStateChangeASPX;

xhr.open("GET","ajaxserver.aspx",true); // 使用GET方法请求ASP.Net文件

xhr.send(null);

}

///// AJAX得到回应的处理方式,直接在已有的标签中显示返回结果

function handleStateChangeASPX()

{

if (xhr.readyState == 4)

{

if (xhr.status == 200)

{

var test = document.getElementById("test");

test.innerHTML = xhr.responseText;

}

}

}

XMLHTTPREQUEST对象的建立参照上文

2、服务器端脚本

服务器端脚本简单的使用了ASP.Net提供的数据查询功能,查询结果通过HTML文档的方式返回给客户端。

ajaxserver.aspx.cs文件

using System;

using System.Data;

using System.Data.OleDb;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class ajaxserver : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

// 建立数据库连接并查询数据

String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=";

connectionString += MapPath("") + "/XTT.MDB";

OleDbConnection connection = new OleDbConnection(connectionString);

connection.Open();

OleDbCommand command = new OleDbCommand();

command.Connection = connection;

command.CommandText = "SELECT * FROM Classes";

OleDbDataReader reader = command.ExecuteReader();

// 将数据查询结果以HTML的格式返回给浏览器

Response.Write("<br //>");

// 创建返回结果的表格,这里最好要包含<tbody>这个标签,IE对这个标签敏感。

String Xhtml = "<table cellspacing='0' cellpadding='0' width='60%' style='border-style: solid; border-width: 1px; padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom:0px font-family:宋体; font-size:9pt'><tbody>";

Xhtml += "<tr>";

// 建立表头

Xhtml += "<th bgcolor='#C0C0C0' height='32' style='border-right:1px solid #FFFFFF;'>分类标识<//th>";

Xhtml += "<th bgcolor='#C0C0C0' height='32' style='border-right:1px solid #FFFFFF;'>分类名称<//th>";

Xhtml += "<th bgcolor='#C0C0C0' height='32' style='border-right:1px solid #FFFFFF;'>创建时间<//th>";

Xhtml += "<th bgcolor='#C0C0C0' height='32' style='border-right:1px solid #FFFFFF;'>创 建 人<//th>";

Xhtml += "<th bgcolor='#C0C0C0' height='32' style='border-right:1px solid #FFFFFF;'>父类标识<//th>";

Xhtml += "<th bgcolor='#C0C0C0' height='32'>操作<//th>";

Xhtml += "</tr>";

// 填写表格数据

while (reader.Read())

{

Xhtml += "<tr>";

Xhtml += "<td height='20' style='border-right:1px solid #C0C0C0;'>" + reader["Class_ID"].ToString() + "<//td>";

Xhtml += "<td height='20' style='border-right:1px solid #C0C0C0;'>" + reader["Class_Name"].ToString() + "<//td>";

Xhtml += "<td height='20' style='border-right:1px solid #C0C0C0;'>" + reader["Create_Time"].ToString() + "<//td>";

Xhtml += "<td height='20' style='border-right:1px solid #C0C0C0;'>" + reader["Create_Man"].ToString() + "<//td>";

Xhtml += "<td height='20' style='border-right:1px solid #C0C0C0;'>" + reader["Parent_ID"].ToString() + "<//td>";

Xhtml += "<td>" + "<a href=edit.aspx?ID=" + reader["Class_ID"].ToString() + ">" + "编辑" + "<//a>";

Xhtml += "<//tr>";

}

// 建表结束

Xhtml += "<//tbody><//table>";

// 返回给浏览器

Response.Write(Xhtml);

reader.Close();

reader.Dispose();

}

}

}

ajaxServer.aspx文件

由于服务器端会返回ASP.net页面上的所有内容,这里将HTML标签全部删掉了。只剩下与.CS文件相关的内容。如果将标签和代码放在一个页面内会更好。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxserver.aspx.cs" Inherits="ajaxserver" Debug="true" %>

3、数据库

数据库文件与ajaxServer.ASPX在相同的目录下。

名称:XTT.mdb

表名:Classes

字段名 类型 长度

Class_ID char 10

Class_Name char 20

Create_Time DateTime

Create_Man char 10

Parent_ID char 10

4、执行结果

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有