Автозаполнение с использованием JQuery с методом Ajax в c # ASP .NET - PullRequest
1 голос
/ 25 марта 2019

Я добавил метод из ajax для автозаполнения в моем текстовом поле (в Popup-Container). И данные из SQL, использующие WebMethod в файле ascx.cs и ниже, не имеют ошибок / исключений, но все еще не получили вывод. Я также пытался AutoCompleteExtender, но он также не мог вернуть результат (в основном GetCompletionList метод не вызывается).

In EditUserSheet.ascx

$("#txtStudName").autocomplete({
        source: function (request, response)
        {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "EditUserSheet.ascx/GetCompletionList",
                data: "{'stdName':'" + document.getElementById('txtStudName').value + "'}",
                dataType: "json",
                success: function (data)
                {
                    response(data.d);
                },
                error: function (result)
                {
                    alert("No Match");
                }
            });
        }
});

и идентификатор TextBox = txtStudName

В EditUserSheet.ascx.cs

[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetCompletionList(string stdName)
{
    using (SqlConnection sqlconn = new SqlConnection("Data Source=AlexaDB;Initial Catalog=Students;User ID=***;Password=***"))
    {
        List<string> StudentNames = new List<string>();

        try
        {
            sqlconn.Open();
            SqlCommand cmd = new SqlCommand("USP_SearchUserName", sqlconn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@term", stdName);

            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                StudentNames.Add(dt.Rows[i]["FirstName"].ToString());
            }

            sqlconn.Close();
            return StudentNames;
        }
        catch (SqlException ex)
        {
            LoggingHandler.WriteLog(ex, TraceEventType.Error);
        }
        return StudentNames;
    }
}

Ничего не отображается в моем текстовом поле. На самом деле, я ожидаю, что когда я начну печатать в своем текстовом поле, он захочет получить список данных, связанных с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...