자동 완성 속성을 사용하고 핸들러를 사용하여 검색 상자를 만들려고합니다. 데이터베이스에서 모든 단어를 가져 왔지만 표시 할 수는 없습니다.핸들러를 사용하여 JQuery 자동 완성
그것 JQuery와 부분 :
$(function() {
$("#search-box").autocomplete({
source: "KeywordHandler.ashx",
minLength: 1,
@*select: function (event, ui) {
alert(ui.item.id + "/" + ui.item.value);
}*@
});
});
그것 핸들러 부분 :
public class KeywordHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string prefixText = context.Request.QueryString["term"];
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["DSN"].ConnectionString;
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "select Keyword from [dbo].[Log] where " + "Keyword 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["Keyword"])
.Append(Environment.NewLine);
}
}
conn.Close();
context.Response.Write(sb.ToString());
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
핸들러에서, 내가 필요하지만 제공되는 키워드로 표시 할 수 없습니다 모든 단어를 얻을 수 있습니다 검색 창에.
어떤 아이디어가 있습니까?
실제 형식으로 문자열을 가져 오지 않는 것 같습니다. JSON을 사용해 보셨습니까? 함수에서 반환되는 문자열을 확인하십시오. 그래서, 내 대답 (JSON 구문 분석)을 사용할 수 있습니다. – JoshuaJeanThree
안녕하세요 조쉬, 네가 맞을지도 모르지만 나는 다른 방법으로 해결했다. 아래 답변을 볼 수 있습니다. 노력해 주셔서 감사합니다. – user1451549