ajaxToolKit autoCompleteExtender OnClientItemSelected
Я пытаюсь внедрить autoCompleteExtender в мой проект. В настоящее время я использую свойство OnClientItemSelected для вызова JavaScript на стороне клиента. Есть ли способ (использование другого свойства или другого кода), который позволит мне вызывать метод в коде, когда пользователь выбирает опцию?
2 ответа
function AutoCompleteEx_OnClientItemSelected(sender, args) {
__doPostBack(sender.get_element().name, '');
}
На стороне сервера дескриптор TextChanged
событие расширенного текстового поля.
Для этого вам нужно вернуть список из метода веб-сервиса с идентификатором и текстом
Здесь "lst" - это фактический список с данными из вашего источника данных.
List<string> items = new List<string>(count);
for (int i = 0; i < lst.Count; i++)
{
string str =AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(lst[i].Text,Convert.ToString(lst[i].IDValue));
items.Add(str);
}
return items.ToArray();
Тогда простой JavaScript
function GetID(source, eventArgs )
{
var HdnKey = eventArgs.get_value();
document.getElementById('<%=hdnID.ClientID %>').value = HdnKey;
}
и не забудьте установить атрибут в автозаполнителеExClientItemSelected = "GetID"