вы можете установить атрибут onclientpopulation для вашей локальной функции javascript, например, onclientpopulation = "onPopulation", а затем в этой функции js предоставлять локальные данные вместо попадания в веб-службу. ниже одна из реализаций, которую я использовал, которая никогда не попадает в веб-сервис. Переменная completeData содержит все данные, через которые итерируется, чтобы найти соответствие на основе того, что пользователь ввел в текстовое поле. Это старый пример. я бы, наверное, сделал бы это немного иначе, если бы реализовал это сейчас.
function onPopulating(ace, args)
{
var prefixText = ace._currentCompletionWord();
var filteredItems = GetFilteredItems(prefixText);
ace._update(prefixText,filteredItems,false);
args.set_cancel(true);
}
function GetFilteredItems(prefixText)
{
var filteredItems = [];
for (var nCount=0; nCount < completionData.length; nCount ++)
{
if (completionData[nCount].startsWith(prefixText))
{
Array.add(filteredItems,completionData[nCount]);
}
}
return filteredItems;
}