Автозаполнение не работает в веб-формах, использующих Ajax - PullRequest
0 голосов
/ 18 сентября 2018

Я использую VisualStudio 2017, C #, asp.net 4.6.1 и AjaxToolKit 18.1.0

И использую следующий код:

default.asxp

<asp:TextBox ID="textBoxUserName" runat="server"></asp:TextBox>
<ajaxToolkit:AutoCompleteExtender ServiceMethod="GetAllUsers" 
    MinimumPrefixLength="1" CompletionInterval="100" EnableCaching="false" 
    CompletionSetCount="10" 
    TargetControlID="textBoxUserName" ID="AutoExtender1" runat="server" 
    FirstRowSelected="false">
</ajaxToolkit:AutoCompleteExtender>

default.aspx.cs

[System.Web.Services.WebMethod]
public static List<string> GetAllUser(string prefixText, int count)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Name", typeof(string));
    dt.Rows.Add("Anna");
    dt.Rows.Add("Betty");
    dt.Rows.Add("Charly");
    dt.Rows.Add("David");
    dt.Rows.Add("Debbie");
    dt.Rows.Add("Donna");
    dt.Rows.Add("Gary");
    List<string> username = new List<string>();
    username = dt.AsEnumerable().Select(x => x.Field<string>("Name")).ToList();
    return username;
}

И вот что я получаю…

enter image description here

С уважением, Рубенк

1 Ответ

0 голосов
/ 19 сентября 2018

Хорошо, я нашел решение:

Я только что изменил

public static List<string> GetAllUser(string prefixText, int count)

на

public List<string> GetAllUser(string prefixText, int count, string contextKey)

и добавил UseContextKey = "true" в элемент управления ...

и вуаля!

...