Ajax动态加载数据库示例

代码如下:

<!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; 
} 
} 

}

相关推荐