JQueryでオートコンプリートされたASP.NETテキストボックスがあり、完全に機能しています。人の名前の一部を入力し、可能なすべてのオプションを含むリストを表示しますが、名前を検索すると、結果のリストに表示されます。名前の横にある電子メールアドレス、名前と電子メールはSQLデータベースにあります。ジョンと入力すると、次のリストが表示されます。
ジョンアンドリュースJohn@email.com
John Smith Smith@email.com
など...これはコードです:
<%@ WebHandler Language="C#" Class="Search_CS" %>
using System;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;
public class Search_CS : IHttpHandler {
public void ProcessRequest (HttpContext context) {
string prefixText = context.Request.QueryString["q"];
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = ConfigurationManager
.ConnectionStrings["constr"].ConnectionString;
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "select * from directory where name like @SearchText + '%'";
cmd.Parameters.AddWithValue("@SearchText", prefixText);
cmd.Connection = conn;
StringBuilder sb = new StringBuilder();
conn.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
sb.Append(sdr["name"])
.Append(Environment.NewLine);
}
}
conn.Close();
context.Response.Write(sb.ToString());
}
}
}
public bool IsReusable {
get {
return false;
}
}
}