2012-03-19 12 views
1

aspnetを使用して3.5。ここに私のコードです。はい、私はjqueryを使用しているはずです。Ajax AutoCompleteExtender - このコードはなぜ機能しないのですか?

テキストボックスに入力すると何も起こりません。私はヒットしていないwebserviceにブレークポイントを持っています。

私は間違っていますか?

<asp:TextBox ID="tbName" runat="server" ></asp:TextBox> 
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" 
    TargetControlID="tbName" 
    ServiceMethod="GetList" ServicePath="wsWebServices.asmx" 
    MinimumPrefixLength="2"> 
</cc1:AutoCompleteExtender> 

[WebMethod] 
[ScriptMethod] 
public string[] GetList(string prefix, int count) 
{ 
    return new string[] { "abc", "def", "hij", "abc", "def", "hij", "abc", "def", "hij", "abc", "def", "hij" }; 
} 
+0

これについて私の答えを確認しましたか? –

答えて

0

私はjavascript関数からWebサービスを呼び出そうとしました。だから問題は何とかオートコンプリートがウェブサービスの「結果」を取り上げていないということです。

このページのその他の回答は、該当しないか、動作しませんでした。

私はajaxドキュメントに何かがないと思います。もし私がこれを得ることができれば、私はここでそれを書き上げるでしょう。

0
define your web method as static like 
public static string[] GetList(string prefix, int count) 
+0

違いはありませんでした。また、私は配管を引っ張って、私はデータベースコールを行うつもりですので、私は静的を使用することはできませんでした。 – TheMoot

2

完全修飾名にWebMethod属性とScriptMethodからの参照を変更してみてください:(戻り値の型とパラメータ名とタイプが完全に一致しなければなりませんprefixTextにごパラメータ変更接頭辞で

[System.Web.Services.WebMethod] 
[System.Web.Script.Services.ScriptMethod] 

、ケースを含む)

スクリプトマネージャがあなたのページにあることを確認してください。

+0

完全に修飾された名前は役に立ちませんでした。プレフィックスの代わりにprefixTextを使用する理由がわかりません。私はC#でコーディングしています。 – TheMoot

+0

@TheMootこれは、ASP.NETのWebサイトから直接得られるものです。 "GetCompletionList"を選択した名前に置き換えることができますが、戻り値の型とパラメータの名前と型は大文字と小文字を含めて正確に一致しなければなりません。 - http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx –

+0

@TheMoot私はASP.NET Webサイトで述べたようにprefixTextを試してみます。 –

0

[System.Web.Script.Services.ScriptService] パブリッククラスwsWebServicesを入れすぎ クラスの上にあなたのASMXパスを確認サービス でこの

ASPX

<asp:TextBox ID="tbName" runat="server" autocomplete="off" ></asp:TextBox> 

<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" 
    TargetControlID="tbName" 
    ServiceMethod="GetList" 
    ServicePath="wsWebServices.asmx" 
    MinimumPrefixLength="2"> 
</cc1:AutoCompleteExtender> 

をお試しください: System.Web.Services.WebService {

[WebMethod] 
    public string[] GetList(string prefix, int count) 
    { 


return new string[] { "abc", "def", "hij", "abc", "def", "hij", "abc", "def", "hij", "abc", "def", "hij" }; 
    } 
} 
+0

申し訳ありません。私はあなたがここで何を言っているのか分かりません。あなたのaspxは私のものと同じです。あなたのWebサービスはどう違うのですか? – TheMoot

関連する問題