我一直在用头撞桌子。
我在我的网页中添加了一个 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;
}