1

我一直在用头撞桌子。

我在我的网页中添加了一个 AutoCompleteExtender,并实现了 webservice 方法供它调用。到现在为止还挺好。

使用 Fiddler,我已经检查过,在调试时,正在调用 webservice 方法并返回我希望看到的结果..但是没有任何内容呈现到屏幕上,没有下拉菜单?

这里的任何人都可以建议我可能做错了什么,或者提供一些可以尝试的建议,因为我目前很难过:

网页中 AutoCompleteExtender 的声明:

<cc1:AutoCompleteExtender runat="server" ID="lookupAgencyAppSettingName" TargetControlID="txtAgencyAppSettingName" ServiceMethod="GetListOfSettings"
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;
    }
4

1 回答 1

1

好的,最后这(有点烦人)变成了 z-index 时间。我不确定默认情况下使用 AjaxControlToolkit 的 ModalPopupExtender 显示的对话框的 z-index 是多少(我可以在页面上看到的最高 z-index 是 10001).. 但在幕后某处它被赋予了一个属性这意味着我的弹出建议(来自 AutoCompleteExtender)总是呈现在对话框后面(但是在我返回足够的结果以从对话框下方获得建议之前,我看不到这一点)。最后,我不得不覆盖用作对话框的面板的 z-index 由 ModalPopupExtender 和 AutoCompleteExtender 的 CompletionListCssClass ,因此:

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

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

无论如何,最后很简单,但我想我会分享以防万一其他人遇到类似问题!

于 2011-04-04T08:27:34.043 回答