AutoCompleteExtender запускается, веб-сервис возвращает результаты, но они не отображаются - PullRequest
1 голос
/ 01 апреля 2011

Я бился головой об стол над этим.

Я добавил AutoCompleteExtender на свою веб-страницу и реализовал метод веб-сервиса для его вызова. Пока все хорошо.

Используя Fiddler, я проверил, что при отладке вызывается метод веб-сервиса и он возвращает результаты, которые я ожидал увидеть ... но на экран ничего не выводится, нет выпадающего меню?

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

Объявление AutoCompleteExtender на веб-странице:

<cc1:AutoCompleteExtender runat="server" ID="lookupAgencyAppSettingName" TargetControlID="txtAgencyAppSettingName" ServiceMethod="GetListOfSettings"<br> ServicePath="~/Authenticated/AJAXMethods.asmx" MinimumPrefixLength="1" CompletionInterval="500" EnableCaching="true" />

Для полноты рассмотрим метод Webservice:

[System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public string[] GetListOfSettings(string prefixText, int count)
    {
        string[] suggestedSettings = new string[0];
        List<string> settingNames = new List<string>();
        List<AgencyApplicationClientSetting> settings = AgencyApplicationClientSetting.All().ToList<AgencyApplicationClientSetting>();
        foreach(AgencyApplicationClientSetting setting in settings)
        {
            if((setting.SettingName.ToLower().StartsWith(prefixText.ToLower())) && (!settingNames.Contains(setting.SettingName)))
            {
                settingNames.Add(setting.SettingName);
            }
        }
        if(settingNames.Count > 0)
        {
            suggestedSettings = settingNames.ToArray();
        }
        return suggestedSettings;
    }

1 Ответ

2 голосов
/ 04 апреля 2011

Хорошо, в конце концов, это оказалось (несколько досадно) временем z-index.Я не уверен, какой z-index диалоговое окно, которое отображается с помощью ModalPopupExtender AjaxControlToolkit, задано по умолчанию (самый высокий z-индекс, который я мог видеть на странице, был 10001) .. но где-то за кулисами ему давали атрибутэто означало, что мои всплывающие подсказки (из AutoCompleteExtender) всегда отображались за диалогом (однако я не мог видеть это, пока я не вернул достаточно результатов, чтобы получить подсказки из-под диалогового окна).В конце концов мне пришлось переопределить z-индекс панели, используемой в качестве диалога ModalPopupExtender И CompletionListCssClass AutoCompleteExtender, таким образом:

            .popUpDialog
        {
            z-index: 99 !important;
        }

        .autoComplete_listMain
        {
            z-index: 2147483647 !important;
            background: #ffffff;
            border: solid 2px #808080;
            color: #000000;
        }

В любом случае, досадно просто в конце, но я подумал:Поделюсь на всякий случай, если кто-то столкнется с подобной проблемой!

...