AJAX基础应用的简单示例

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 />
            &nbsp;</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;

经常出错(未知错误),原因是数据库响应程序没有能够提供正确的数据内容及内容格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值