0

.netで、指定された入力テキストに基づいて都市名を取得するWebサービスを作成しました。Webサービスは正常に機能しています。私はそのWebサービスをajaxコントロールツールキットのAutoCompleteExtenderコントロールで使用しました。しかし、テキストボックスに何かを入力すると、提案のリストが表示されません。

Webサービスの構造は次のとおり
です。publicstringGetCompletionList(string prefixText)

<body>
    <form id="form1" runat="server">
<div>
<!--.........................................
.........................................
.........................................-->
<asp:TextBox ID="txtsearchcity" runat="server" class="autosuggest"></asp:TextBox>
<asp:AutoCompleteExtender runat="server" 
        ID="autoComplete1" 
        TargetControlID="txtsearchcity" 
        ServicePath="http://localhost:3935/SearchCity/searchcity.asmx" 
        ServiceMethod="GetCompletionList"
        MinimumPrefixLength="2"
        CompletionInterval="1000" 
        EnableCaching="true" 
        CompletionSetCount="20">
</asp:AutoCompleteExtender>
<!--.........................................
.........................................
.........................................-->
</div>
</form>
</body>

正確なServicePathとServiceMethodは何である必要がありますか?出力を取得するためにcssファイルが必要かどうか。

4

1 に答える 1

0

こちらの公式ドキュメントをご覧ください。これは、サービスメソッドの署名が以下と一致しなければならないことを示します。

public string[] GetCompletionList(string prefixText, int count)

したがって、このシグネチャを持つメソッドを既存のWebサービスに追加することから始めます。

また、ブラウザベースのツール(スクリプトのデバッグ、httpのデバッグなど)を活用して、次のことを確認することをお勧めします。

  1. あなたのウェブページでJavaScriptエラーは発生していません
  2. ajaxリクエストがサーバーに正常に到達しています
  3. サービスから適切な応答が返されています

どこから始めればよいかわからない場合は、Chromeのデベロッパーツール、特にネットワークパネルをご覧ください。

現在の構成(ServicePath、ServiceMethodなど)に関する限り、すべてが適切に機能しているように見えます。

于 2012-09-20T13:28:55.767 に答える