ASPX文件内容如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript" src="xmlhttp.js"></script>
</head>
<body style="text-align: center">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="text-align: center">
<input id="Button1" type="button" value="button" οnclick="requestMessageFromServer()" /><br />
</div>
<div id="showdiv"></div>
<asp:DropDownList ID="ClassOfBP" runat="server" DataSourceID="SqlDataSource1"
DataTextField="类别名" DataValueField="编号">
</asp:DropDownList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:备品ConnectionString %>"
SelectCommand="SELECT [编号], [类别名] FROM [Kind]"></asp:SqlDataSource>
</form>
</body>
</html>
JS文件如下:
// JScript 文件
var xmlHttp;
var requestUrl = "CallBackMessage.aspx?ProvinceID=";
function requestMessageFromServer()
{
createReqestXMLHTTP();
var URL = requestUrl + document.getElementById("ClassOfBP").value;
xmlHttp.open("GET",URL,true);
xmlHttp.onreadystatechange = callBack;
xmlHttp.send(null);
}
function createReqestXMLHTTP()
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveObject("Microsoft.XMLHTTP");
}
catch(E)
{
xmlHttp = false;
}
}
}
function callBack()
{
if(xmlHttp.readyState == 4)//0(未初始化);1(正在装载);2 (装载完毕);3 (交互中);4 (完成)
{
if(xmlHttp.status == 200) //404(URL程序名存在问题)//500服务器响应文件有问题
{
var FShowDiv = document.getElementById("showdiv");
//alert(xmlHttp.responseText);
FShowDiv.innerHTML = xmlHttp.responseText;
}
}
}
服务器响应文件如下:
using System;
using System.Data;
using System.Data.SqlClient;
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 CallBackMessage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string item = Request.QueryString["ProvinceID"].ToString();
string connStr = "server=Advance//SQLEXPRESS;database=备品;integrated security=true;";
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from TypeOfBP where sslb='" + item + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
string s = @"<table cellspacing='0' cellpadding='4' border='0' id='GridView1' style='color:#333333;border-collapse:collapse;'>";
s += "<tr style='color:White;background-color:#990000;font-weight:bold;'>";
s += "<th scope='col'>编号</th><th scope='col'>类别名称</th><th scope='col'>所属类别</th></tr>";
int m = 0;
while (dr.Read())
{
if (m % 2 == 0)
{
s += "<tr style='color:#333333;background-color:#FFFBD6;'>";
}
else
{
s += "<tr style='color:#333333;background-color:White;'>";
}
m++;
s += "<td>" + dr["编号"] + "</td>";
s += "<td>" + dr["型号名"] + "</td>";
s += "<td>" + dr["sslb"] + "</td>";
s += "</tr>";
}
s += "</table>";
dr.Close();
conn.Close();
this.Response.Write(s);
this.Response.End();
}
}
在开发过程中此句
FShowDiv.innerHTML = xmlHttp.responseText;
经常出错(未知错误),原因是数据库响应程序没有能够提供正确的数据内容及内容格式。