我似乎无法弄清楚自动完成搜索栏的代码有什么问题。
我唯一能想到的是我在 URL 下引用了错误的东西
aspx Javascript
$(document).ready(function() {
SearchText();
});
function SearchText() {
$(".ui-autocomplete").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Admin_home.aspx/GetAutoCompleteData",
data: "{'Car':'" + document.getElementById('query').value + "'}",
dataType: "json",
success: function(data) {
response(data.d);
},
Error: function(results) {
alert("Error");
}
});
}
});
}
</script>`
asp.html 代码
我似乎无法在此处键入或粘贴 html。它只是一个
asp:Textbox ID="query" class="ui.autocomplete"
c# 代码
[WebMethod]
public static List<string> GetAutoCompleteData(string Car)
{
List<string> result = new List<string>();
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CarsConnectionString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))
{
con.Open();
cmd.Parameters.AddWithValue("@SearchText", Car);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(dr["Car"].ToString());
}
return result;
}
}
}
是否需要将部分 html 包装在 AJAX 更新面板中?
另外,我正在从 sql server 2005 中搜索提取名称。