У меня тоже была такая же проблема.Я знаю, что это немного поздно, но лучше поздно, чем никогда ...
Вот настройка, которая наконец сработала для меня (с вашими идентификаторами и именами на месте):
Code-Behind (aspx.cs):
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethod()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
...
}
Код (.aspx):
<asp:TextBox ID="txtOsoba" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender1"
runat="server"
ServiceMethod="GetCompletionList"
TargetControlID="txtOsoba"
UseContextKey="True">
</asp:AutoCompleteExtender>
Как видите, вам не нужно устанавливать ScriptPathи свойства ServicePath, потому что эти свойства представляют ...
Путь к веб-службе, из которой расширитель будет извлекать завершения слова \ предложения.Если это не предусмотрено, метод обслуживания должен быть методом страницы .
, что объясняется на странице справки по автозаполнению .У вас есть метод GetCompletionList (), определенный в вашем Code-Behind, который, как я полагаю, в настоящее время квалифицируется как «метод страницы».Так что, похоже, вы бы использовали свойства Path, только если бы у нас был метод в другом месте, например, services.cs или что-то в этом роде.