AjaxControlToolkit - Не удается заставить работать AutoCompleteExtender - PullRequest
1 голос
/ 28 января 2011

Я не могу заставить работать AutoCompleteExtender. Это, наверное, что-то тривиальное. Использование .NET 4 проекта ASP.NET по умолчанию в VS2010.

Код:

<asp:TextBox runat="server" ID="example" autocomplete="off" />
<ajaxToolkit:AutoCompleteExtender
            ID="autocomplete"
            runat="server" 
            TargetControlID="example"
            ServicePath="~/services/AutoComplete.asmx" 
            ServiceMethod="GetCompletionList" 
            CompletionInterval="1" />

Веб-сервис работает - код практически дословно скопирован из примеров AJAX Control Toolkit. Это действительно расстраивает меня. Я рассмотрел другие вопросы здесь и пока не нашел решения.

Я не получаю никаких ошибок или исключений. Ввод в текстовом поле ничего не делает, веб-служба не достигает точки останова.

Ответы [ 4 ]

2 голосов
/ 28 января 2011

Проверьте этот пример, убедитесь, что ваш соответствует: http://www.asp.net/ajaxlibrary/act_AutoComplete_simple.ashx

Также убедитесь, что веб-сервис имеет точные параметры; если не одна и та же подпись, это тоже может быть проблематично.

НТН.

1 голос
/ 03 августа 2013

Это случалось со мной не раз на новых веб-сайтах, где я повторно использую свои пользовательские элементы управления на основе AutoCompleteExtender. Я рекомендую вам использовать Fiddler для захвата и проверки POST из вашего браузера и ответа вашего сервера. Это просто установить и запустить. Как только он запустится, вы вводите несколько символов в текстовое поле, а затем проверяете записи веб-сеанса, которые захватывает Fiddler. Если вы видите одну или несколько записей с кодами ошибок, проверьте их на предмет сведений об ошибках, сгенерированных вашим сервером IIS (или ASP.Net). Таким образом, вы очень быстро дойдете до сути.

Совсем недавно моя проблема заключалась в том, что я забыл раскомментировать атрибут ScriptService класса WebService:

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
1 голос
/ 28 января 2011

Убедитесь, что вы правильно указали имена входных параметров:

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(string prefixText, int count) 

Убедитесь, что вы используете prefixText и count с правильными значениямикорпус.

0 голосов
/ 28 января 2011

Попробуйте удалить ~ / из пути службы.

 ServicePath="services/AutoComplete.asmx"
...