Ajax Auto Complete ExtenderをWebプロジェクトでホストされているWCFサービスで利用しようとしています。サービスに達し、結果がフィドラーで返されることが確認されましたが、オートコンプリートエクステンダーに関連付けられたテキストボックスには決してデータが入力されません。エクステンダーが自動生成されない
[ScriptService]
[ServiceContract(Namespace = "")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public interface ICertificateService
{
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
List<string> GetCompletionList(string prefixText, int count);
}
実装は単なる文字列の人口のリストを返して次のように
サービス契約があります。次のように
ASPXである:
<asp:TextBox runat="server" ID="aceInstructors"></asp:TextBox>
<ajaxToolkit:AutoCompleteExtender runat="server"
ID="autoCompleteInstructor"
TargetControlID="aceInstructors"
ServiceMethod="GetCompletionList"
ServicePath="../../CertificateService"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true" CompletionSetCount="5">
<Animations>
<OnShow> <HideAction Visible="true" /> </OnShow>
<OnHide> <HideAction Visible="false" /> </OnHide>
</Animations>
次のようにサービスのルートがGlobal.asaxの中に構成されている:
private void RegisterRoutes()
{
RouteTable.Routes.Add(new ServiceRoute("CertificateService", new WebServiceHostFactory(), typeof(CertificateService)));
}
述べたように、私がホットサービスする前JSON形式のレスポンスが得られます。以下は、生の応答です:
HTTP/1.1 200 OK
Server: Cassini/4.0.1.7
Date: Mon, 12 Sep 2011 16:44:16 GMT
X-AspNet-Version: 4.0.30319
Content-Length: 68
Cache-Control: private
Content-Type: application/json; charset=utf-8
Connection: Close
{"GetCompletionListResult":["Alpha","Beta","Gamma","Delta","Omega"]}
注目におそらく価値のあるものは、私はサービス契約からResponseFormatを省略した場合、reultはXML形式で返され、テキストボックスが非常に長いリストが移入されていることです定義されていません
何か基本的なものがありませんか?