2011-12-21 10 views
2

でAjaxControlToolkitのAutoCompleteExtenderを使用しています。 、エラーをグーグル後オートコンプリートAJAXが動作しない

Cannot create page method "GetCompletionlist because no CodeBehind or CodeFile was found!

私はドラッグすると、簡単に言えば、私のテキストボックスに上AutoCompleteExtenderツールをドロップしてから、「オートコンプリートページメソッドを追加」をクリックするために、私は次のエラーを取得します私は基本的にAutoCompelte.asmxという自分のWebサービスを作った。私は、データベースからデータを取得するものと、後で....もちろん

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

namespace AutoCompleteTest 
{ 
    /// <summary> 
    /// Summary description for AutoComplete 
    /// </summary> 
    [WebService(Namespace = "http://microsoft.com/webservices/")] 
    [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 AutoComplete : System.Web.Services.WebService 
    { 
     [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()] 
     public static string[] GetCompletionList(string prefixText, int count, string contextKey) 
     { 
      // Create array of movies 
      string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" }; 

      // Return matching movies 
      return (from m in movies where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray(); 
     } 
    } 
} 

、上記ダミーデータである。以下は、そのクラスのコードです。

そして、私のDefault.aspxのは次のようになります。私は、テキストボックスにウェブサイト....と種類を実行すると

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </asp:ToolkitScriptManager> 
    From 
<asp:TextBox ID="txtFrom" runat="server"> 
</asp:TextBox> 


<asp:AutoCompleteExtender runat="server" 
    ID="txtFrom_AutoCompleteExtender" 
    TargetControlID="txtFrom" 
    ServiceMethod="GetCompletionList" 
    ServicePath="AutoComplete.asmx" 
    MinimumPrefixLength="2" 
    CompletionInterval="1000" 
    EnableCaching="true" 
    CompletionSetCount="20" 
    DelimiterCharacters=";, :" 
    ShowOnlyCurrentWordInCompletionListItem="true"> 
</asp:AutoCompleteExtender> 

、何も起こりません。エクステンダーは表示されません。私が「スター」と入力したとしても。

私は何が欠けていますか、なぜ私は最初にそのエラーを受けていましたか?

P.S.私は私の大学のコンピュータにいるので、私はエラーが私が使用しているネットワークの種類のためかもしれないと思う。わからない。

非常に高い評価をいただきました!

ありがとうございました。

+1

私はそれを働かせました。私は基本的にウェブサイトアプリケーションの代わりにウェブサイトを作った。何らかの理由で、問題が修正されました。 – Subby

+0

これは本当に答えとして投稿するべきです。 –

答えて

0

私はそれを働かせました。これは私がそれを修正した方法です:

私のプロジェクトはVisual Studioの "ウェブサイトアプリケーション"でした。私が単に「ウェブサイト」プロジェクトを作ったとき、それはすべて完璧に機能しました....私はなぜそれがやったのか分かりません。

他の誰かが同じ問題を抱えている場合は、コードを "ウェブサイトアプリケーション"プロジェクトではなく "ウェブサイト"プロジェクトに移植してみてください。

希望に役立ちます。

関連する問題