0

テキスト ボックスの ASP.net ページで ajax オート コンプリート エクステンダー コントロールを使用しています。

<td align="left>
  <asp:TextBox ID="txtAutoComplete" runat="server" MaxLength="200" Width="50%">         </asp:TextBox>

 <asp:AutoCompleteExtender ID="txtAutoComplete_AutocompleteExtender" runat="server"
                        Enabled="true" TargetControlID="txtAutoComplete" UseContextKey="true" ServiceMethod="GetItemsList" ServicePath="~/AutoCompleteWebService.asmx"
                      MinimumPrefixLength="3" CompletionSetCount="12" DelimiterCharacters=";" OnClientPopulating="ShowProcessImage" OnClientPopulated="HideProcessImage">
                    </asp:AutoCompleteExtender>
</td>

Web サービスを作成し、自動制御エクステンダーからこのメソッドを呼び出しました。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace TestChart
{
    /// <summary>
    /// Summary description for AutoCompleteWebService
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class AutoCompleteWebService : System.Web.Services.WebService
    {
        public AutoCompleteWebService(){
        }
        [WebMethod]
        public  string[] GetItemsList(string Prefix,int count)
        {
            char c1;
            char c2;
            char c3;`enter code here`

            if (count == 0)
            {
                count = 10;
            }
             Random rnd =new Random();
             List<string> items = new List<string>();
             for (int i = 0; i < count; i++)
             {
                 c1 = Convert.ToChar(rnd.Next(65, 90));
                 c2 = Convert.ToChar(rnd.Next(97, 122));
                 c3 = Convert.ToChar(rnd.Next(97, 122));
                 items.Add(Prefix + c1 + c2 + c3);
             }
                 return items.ToArray();
        }
    }
}

この Web サービスを個別に実行すると正常に動作しますが、プロジェクトを実行すると、テキスト ボックスにオートコンプリート オプションが表示されません。

誰でも間違いを分析するのを手伝ってくれませんか。

前もって感謝します

4

3 に答える 3

-1

この Web サービスをスクリプトから呼び出せるようにするには、ASP.NET AJAX を使用して、asmx コード ビハインド ファイルの次の行のコメントを外します。

[System.Web.Script.Services.ScriptService]
于 2016-07-08T09:58:46.990 に答える