[asp.net] AutoCompleteExtender не работает, когда загружается ajax на какой-то другой странице - PullRequest
0 голосов
/ 11 октября 2019

У меня есть поиск в интернете до публикации этой темы, но я не могу найти решение. Здесь я пытаюсь использовать AutocompleExtender для проекта коллажа в asp.net. AutocompleteExtender отлично работает, когда страница загружается в браузер, но когда я загружаю эту страницу на какой-то другой странице с помощью ajax, тогда autocompleteextender не работает, может ли кто-нибудь помочь понять, что я делаю неправильно?

Код Ajax, который я использую

GetMainContent(getUrlParameter('page'));
            function GetMainContent(obj, search) {
                $("#main-content").html('<img src="images/loading.gif" / style="Display:block; margin:auto;">');
                $.ajax({
                    type: 'POST',
                    url: obj + ".aspx",
                    cache: false,
                    timeout: 3000,
                    data: 'search=' + search,
                    dataType: 'html',
                    success: function (response) {
                        $("#main_content").html(response);
                    },
                    error: function (response) {
                        $("#main_content").html(' Error' + response.responseText);
                    }
                });
            };

код asp

                 <asp:TextBox runat="server" id="resturanttext" name="resturanttext" class="form-control form-control-lg form-control-borderless" Style="font-size:30px" Height="48px" width="100%" placeholder="Search By Resturant Name" onkeydown="return (event.keyCode!=13);"/>
                 <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" ServiceMethod="GetCompletionList" TargetControlID="resturanttext" MinimumPrefixLength="1" CompletionSetCount="5" EnableCaching="false" CompletionListCssClass="AutoCompleteExtender2" CompletionListHighlightedItemCssClass="AutoCompleteExtender2" OnClientItemSelected="ItemSelected" CompletionInterval="100" ShowOnlyCurrentWordInCompletionListItem="true"></asp:AutoCompleteExtender> 

Код бэкэнда

        [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
        public static string[] GetCompletionList(string prefixText)
        {
            List<string> resturantname = new List<string>();
            SQLiteConnection conn = new SQLiteConnection(@"Data Source=" + Globals.Datbase_Path + ";Version=3;");
            conn.Open();
            string sql = "SELECT resturant_name FROM resturant Where resturant_name Like '%" + prefixText + "%';";
            SQLiteCommand command = new SQLiteCommand(sql, conn);
            SQLiteDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                resturantname.Add(Convert.ToString(reader.GetValue(0)));
            }            
            reader.Close();
            command.Dispose();
            conn.Close();
            return resturantname.ToArray();
        }
...