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;

  }

  }

  }