AutoCompleteExtender неожиданно перестал работать

Я реализовал AjaxControlToolkit AutoCompleteExtender в одном из моих проектов, и он работал нормально. Неожиданно однажды, когда я открыл проект, AutoCompleteExtender перестал работать. Все остальные функции инструментария, такие как управление календарем, работают нормально.

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

Я использую версию 4.1.50731 AjaxControlToolkit, и ниже приведен код, который я написал.

Регистрация сборки:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

Страница ASPX:

<form id="form1" runat="server">
    <div>
        <span class="span-formitem">
            <asp:Label ID="lblName" runat="server" Text="Name"></asp:Label><br />
            <cc1:ToolkitScriptManager runat="server" ID="ToolkitScriptManager1" EnablePageMethods="true"></cc1:ToolkitScriptManager>
            <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <cc1:AutoCompleteExtender ServiceMethod="SearchEmployees"
                MinimumPrefixLength="3"
                CompletionInterval="100" EnableCaching="false" CompletionSetCount="10"
                TargetControlID="txtName"
                ID="AutoCompleteExtender1" runat="server" FirstRowSelected="false">
            </cc1:AutoCompleteExtender>
        </span>
    </div>
</form>

Код для получения данных:

[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod()]
public static List<string> SearchEmployees(string prefixText, int count)
{
    using (SqlConnection conn = new SqlConnection())
    {
        conn.ConnectionString = "Data Source=dd-SQL21;Database=CMCM;User ID=CMCM;Password=xx@12xx";

        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "select top 15 employeename" + " from employee_master" + " where employeename like '%" + prefixText + "%'" +
                " order by (case when employeename like '" + prefixText + "%' then 1" + " when employeename like '% " + prefixText + "%' then 2" +
                    " else 3" + " end);";
            cmd.Parameters.AddWithValue("@SearchText", prefixText);
            cmd.Connection = conn;
            conn.Open();
            List<string> employees = new List<string>();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    employees.Add(sdr["employeename"].ToString());
                }
            }
            conn.Close();
            return employees;
        }
    }
}

0 ответов

Другие вопросы по тегам