前台代码:
<head runat="server">
<title></title>
<link href="js/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script src="js/Jquery1.7.js" type="text/javascript"></script>
<script src="js/jquery.autocomplete.js" type="text/javascript"></script>
<script src="js/jquery.autocomplete.pack.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "post",
contentType: "application/json",
url: "WebService1.asmx/getGoods",
data: "{}",
success: function (result) {
var array = new Array();
for (var i = 0; i < result.d.length; i++) {
array.push(result.d[i]);
}
$('#txtQuery').autocomplete(array);
}
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtQuery" runat="server"></asp:TextBox>
</div>
</form>
</body>
-------------------------WebServices-----------------------------
namespace WebApplication1
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public List<string> getGoods()
{
List<string> list = new List<string>();
if (Context.Cache["goods"] == null)
{
string conStr = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
SqlConnection conn = new SqlConnection(conStr);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select T_GoodsTitle from T_Goods";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
list.Add(reader["T_GoodsTitle"].ToString());
}
Context.Cache["goods"] = list;
}
else {
list = Context.Cache["goods"] as List<string>;
}
return list;
}
}
}