私はこれで机に頭をぶつけています。
Web ページに AutoCompleteExtender を追加し、呼び出すための Web サービス メソッドを実装しました。ここまでは順調ですね。
Fiddler を使用して、デバッグ時に webservice メソッドが呼び出され、期待どおりの結果が返されることを確認しましたが、画面に何もレンダリングされず、ドロップダウンはありませんか?
ここで誰かが私が間違っていたかもしれないことを提案したり、私が現在困惑しているので試してみるべきことを提案したりできますか:
Web ページでの 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;
}