Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AutoCompleteXtender正在启动,webservice正在返回结果,但不会显示这些结果_C#_Asp.net_Autocompleteextender - Fatal编程技术网

C# AutoCompleteXtender正在启动,webservice正在返回结果,但不会显示这些结果

C# AutoCompleteXtender正在启动,webservice正在返回结果,但不会显示这些结果,c#,asp.net,autocompleteextender,C#,Asp.net,Autocompleteextender,我一直在为这张桌子把头撞在桌子上 我已经在我的网页中添加了一个AutoCompleteXtender,并实现了webservice方法来调用它。到目前为止,一切顺利 使用Fiddler,我检查了调试时是否调用了webservice方法,并返回了我希望看到的结果。。但是没有任何东西被渲染到屏幕上,没有下拉菜单 这里有没有人能提出我可能做错了什么,或者提出一些建议,让我尝试一下,因为我现在很难办: 在网页中声明AutoCompleteXtender: 为完整起见,以下是Webservice方法:

我一直在为这张桌子把头撞在桌子上

我已经在我的网页中添加了一个AutoCompleteXtender,并实现了webservice方法来调用它。到目前为止,一切顺利

使用Fiddler,我检查了调试时是否调用了webservice方法,并返回了我希望看到的结果。。但是没有任何东西被渲染到屏幕上,没有下拉菜单

这里有没有人能提出我可能做错了什么,或者提出一些建议,让我尝试一下,因为我现在很难办:

在网页中声明AutoCompleteXtender:

为完整起见,以下是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;
    }
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
公共字符串[]GetListOfSettings(字符串前缀,整数计数)
{
string[]suggestedSettings=新字符串[0];
列表设置名称=新列表();
列表设置=代理应用程序客户端设置.All().ToList();
foreach(设置中的AgencyApplicationClient设置)
{
if((setting.SettingName.ToLower().StartsWith(prefixText.ToLower())&&(!settingNames.Contains(setting.SettingName)))
{
settingNames.Add(setting.SettingName);
}
}
如果(settingNames.Count>0)
{
suggestedSettings=settingNames.ToArray();
}
返回建议的设置;
}

好吧,最后(有点恼人地)这变成了一个z索引时间。 我不确定默认情况下使用AjaxControlToolkit的ModalPopupXtender显示的对话框的z索引是什么(我在页面上看到的最高z索引是10001)。。但在幕后的某个地方,它被赋予了一个属性,这意味着我的弹出式建议(来自AutoCompleteXtender)总是在对话框后面呈现(但在我返回足够的结果以从对话框下面获得建议之前,我无法看到这一点)。 最后,我不得不覆盖ModalPopupXtender用作对话框的面板的z索引和AutoCompleteXtender的CompletionListCssClass,因此:

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

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

不管怎么说,这最终很简单,但我想我会和大家分享一下,以防其他人遇到类似的问题

好吧,最后结果是(有点恼人地)一个z指数时间。 我不确定默认情况下使用AjaxControlToolkit的ModalPopupXtender显示的对话框的z索引是什么(我在页面上看到的最高z索引是10001)。。但在幕后的某个地方,它被赋予了一个属性,这意味着我的弹出式建议(来自AutoCompleteXtender)总是在对话框后面呈现(但在我返回足够的结果以从对话框下面获得建议之前,我无法看到这一点)。 最后,我不得不覆盖ModalPopupXtender用作对话框的面板的z索引和AutoCompleteXtender的CompletionListCssClass,因此:

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

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

不管怎么说,这最终很简单,但我想我会和大家分享一下,以防其他人遇到类似的问题

我只想确认一下,我的ScriptManager中确实有EnablePartialRendering=“true”-我知道这通常是下拉列表无法正确呈现的常见原因。是否存在任何javascript错误?不,没有报告任何javascript错误。它似乎与webservice方法返回给它的字符串数组没有任何关系..应该有一些代码之外的东西,你可能想看看,因为我接受了你的代码,只是返回了一个硬编码的数组,它工作得很好。您确定您的浏览器没有抑制JS错误吗?您是否在web服务中设置了断点,以查看数据是否以正确的格式返回,或者数据本身是否不正确;我没有可能导致这种情况的字符?我已经在webservice方法中设置了断点,我也在Fiddler中查看了webservice的请求和响应,它肯定会返回。然而,这一技巧确实得到了回报,因为我决定返回一个简单的字符串数组(它返回了10个值,而我的真正代码只返回了一个值),并且由于返回了更多的值,我注意到结果正在显示,尽管隐藏在AutoCompleteXtender所在的对话框后面。只是确认一下我的ScriptManager中确实有EnablePartialRendering=“true”-据我所知,这通常是下拉列表无法正确呈现的常见原因。是否存在任何javascript错误?否,未报告任何javascript错误。它似乎与webservice方法返回给它的字符串数组没有任何关系..应该有一些代码之外的东西,你可能想看看,因为我接受了你的代码,只是返回了一个硬编码的数组,它工作得很好。您确定您的浏览器没有抑制JS错误吗?您是否在web服务中设置了断点,以查看数据是否以正确的格式返回,或者数据本身是否不正确;我没有可能导致这种情况的字符?我已经在webservice方法中设置了断点,我也在Fiddler中查看了webservice的请求和响应,它肯定会返回。然而,这一技巧确实得到了回报,因为我决定返回一个简单的字符串数组(它返回了10个值,而我的真正代码只返回了一个值),而且由于返回了更多的值,我注意到结果正在显示,尽管结果隐藏在AutoCompleteXtender所在的对话框后面。