Я пытаюсь использовать функцию автозаполнения пользовательского интерфейса jQuery в моем веб-приложении. Я настроил страницу под названием SearchPreload.aspx. Эта страница проверяет значение (термин), чтобы войти вместе с другим параметром. Страница проверяет поступающие значения, а затем извлекает некоторые данные из базы данных и распечатывает на странице массив javascript (например, ["item1","item2"]
). Код:
protected void Page_Load(object sender, EventArgs e)
{
string curVal;
string type ="";
if (Request.QueryString["term"] != null)
{
curVal = Request.QueryString["term"].ToString();
curVal = curVal.ToLower();
if (Request.QueryString["Type"] != null)
type = Request.QueryString["Type"].ToString();
SwitchType(type,curVal);
}
}
public string PreLoadStrings(List<string> PreLoadValues, string curVal)
{
StringBuilder sb = new StringBuilder();
if (PreLoadValues.Any())
{
sb.Append("[\"");
foreach (string str in PreLoadValues)
{
if (!string.IsNullOrEmpty(str))
{
if (str.ToLower().Contains(curVal))
sb.Append(str).Append("\",\"");
}
}
sb.Append("\"];");
Response.Write(sb.ToString());
return sb.ToString();
}
}
Часть базы данных работает нормально и выводит правильные данные на экран страницы, если я перехожу к ней через браузер.
Автозаполнение jQuery ui записывается следующим образом:
$(".searchBox").autocomplete({
source: "SearchPreload.aspx?Type=rbChoice",
minLength: 1
});
Теперь, если мое понимание верно, каждый раз, когда я набираю в окне поиска, оно должно действовать как нажатие клавиши и запускать мой источник, чтобы ограничить правильность данных? Когда я с помощью оператора отладки в коде SearchPreload.aspx позади, кажется, что страница не попала вообще.
Если я заверну функцию автозаполнения в функцию .keypress, то попаду на страницу предварительной загрузки поиска, но все равно не получу никаких результатов. Я просто хочу показать результаты в поле поиска, как пример функциональности по умолчанию на веб-сайте jQuery . Что я делаю не так?