cailangwei

九尺之台,起于累土。
温故而知新,可以为师矣!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Ajax实现动态加载数据库

Posted on 2011-12-07 08:20  cailangwei  阅读(2804)  评论(0)    收藏  举报

客户端:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type ="text/javascript">
function btnClick() {
var xmlhttp = xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
if (!xmlhttp) {
alert(
"创建xmlhttp对象异常!");
return false;
}
var text1 = document.getElementById("Text1");
xmlhttp.open(
"post","GetPrice2.ashx?ts"+text1, false);
xmlhttp.onreadystatechange
= function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementById(
"Text2").value = xmlhttp.responseText;
}
else {
alert(
"Ajax返回错误!");
}
}
}
xmlhttp.send();
}
</script>
</head>
<body>

<p>
产品名称:<input id="Text1" type="text" /></p>
<p>
价格:<input id="Text2" type="text" /></p>
<p>
<input id="Button1" type="button" value="查询" onclick = "btnClick()"/></p>
</body>
</html>

服务器端处理程序:

<%@ WebHandler Language="C#" Class="GetPrice" %>

using System;
using System.Linq;
using System.Web;
using DataSetProductsTableAdapters;

public class GetPrice : IHttpHandler {

public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string name = context.Request["text1"];
var data = new PriceTableAdapter().GetDataByName(name);//需要建一个强类型的dataset
if (data.Count <= 0)
{
context.Response.Write("none|0");
}
else
{
context.Response.Write("ok|" + data.Single().Price);
}
}

public bool IsReusable {
get {
return false;
}
}

}