1.javascript:代码
<script src="js/jquery-1.7.min.js" type="text/javascript"></script> <script src="js/jquery.autocomplete.min.js" type="text/javascript"></script> <link href="../css/jquery.autocomplete.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function findValue(li) { if (li == null) return alert("No match!"); if (!!li.extra) var sValue = unescape(li.extra[0]); } function selectItem(li) { findValue(li); } $(document).ready(function () { $(txtCorporation).autocomplete("../Handler/SearchKeyValue.ashx", { delay: 10, minChars: 1, matchSubset: 1, cacheLength: 1, onItemSelect: selectItem, onFindValue: findValue, autoFill: true, maxItemsToShow: 20 }); }); </script>
2.ashx文件内容
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (context.Request.QueryString["q"] != null) { string key = context.Request.QueryString["q"]; string keyvalues = GetKeyValues(key); context.Response.Write(keyvalues); } } public string GetKeyValues(string k) { try { DataTable dt = BLL.GetDataTable("select KeyValue from wb_SearchKeyValue where KeyValue like '%"+k+"%'"); string result = ""; if (!CommonClass.DTRow.CheckDtIsEmpty(dt)) { StringBuilder items = new StringBuilder(); foreach (DataRow dr in dt.Rows) { items.Append(dr["KeyValue"].ToString() + "\n"); } result = items.ToString(); } return result; } catch (Exception ex) { AppLog.Write("关键字获取异常![SearchKeyValue.ashx异常信息:" + ex.Message + "]", AppLog.LogMessageType.Info); return string.Empty; }