Автозаполнение текстового поля адреса улицы со значениями из базы данных. Синтаксический анализ номера улицы и столбца названия улицы - PullRequest
0 голосов
/ 31 марта 2020

В моем приложении asp. net c# я могу ввести номер улицы в поле texbox, отобразить и выбрать адрес из выпадающего списка, но если я попытаюсь ввести название улицы в том же текстовом поле без предварительного добавления пробела для учета наибольшего значения номера улицы в таблице БД отображается сообщение «Моя запись не найдена». Не уверен, как исправить.

JQUERY КОД:

    $(function () {
        $("[id*=txtStreet]").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: 'Registry-For-Congregate-Care-Sites.aspx/GetSearchResults',
                    //data: "{ 'prefix': '" + request.term + "'}",
                    data: JSON.stringify({ prefix: request.term }),
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        if (data.d.length > 0) {
                            response($.map(data.d, function (item) {
                                return {
                                    label: item,
                                    val: item
                                };
                            }))
                        } else {
                            response([{ label: 'No results found.', val: -1}]);
                        }
                    }
                });
            },
            select: function (e, u) {
                if (u.item.val == -1) {
                    return false;
                }
            }
        });
    });
</script>

КОД ЗАПИСЬ: publi c stati c string [] GetSearchResults (префикс строки) {

        List<string> searchResult = new List<string>();
        using (SqlConnection conn = new SqlConnection())
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["MyDBAddressConnection"].ConnectionString;
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = @"SELECT TOP 20 PARCELLOCATIONNO+PARCELLOCATION Result FROM RPIPARCEL
                     WHERE PARCELLOCATIONNO+PARCELLOCATION like @SearchText + '%' ORDER BY PARCELLOCATION";

                cmd.Parameters.AddWithValue("@SearchText", prefix.Trim());
                cmd.Connection = conn;
                conn.Open();
                using (SqlDataReader sdr = cmd.ExecuteReader())
                {
                    while (sdr.Read())
                    {
                        searchResult.Add(sdr["Result"].ToString());
                    }
                }
                conn.Close();
            }
        }
        return searchResult.ToArray();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...