ASP.NetでAutoCompleteExtenderを使用する

ajaxcontroltoolkit asp.net autocomplete vb.net webmethod
ASP.NetでAutoCompleteExtenderを使用する

今日の皆さんはどうですか?

問題 +基本的に、AutoCompleteの要件を満たすことを主な目的として、今日AjaxControlToolkitの世界を掘り下げています。 私はすべてをチュートリアル通りに設定しましたが、なぜ物事がうまくいかないのか少し混乱しています(何が私を妨げているのかについてはよくわかりません)。

AjaxControlToolkit dllをプロジェクトに追加しました。マークアップには次のものがあります。

頂点で

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxControlToolkit" %>

その後、私のコンテンツ内

次に、コードビハインドに、素敵な小さな関数(内のブレークポイントに到達しない)があります。

 _
    Public Function GetCompletionList(ByVal prefixText As String, ByVal count As Integer, ByVal contextKey As String) As String()
        ' Get current list
        Dim myList As List(Of MyClass) = GetSearchResultList()

        Return (From s In myList Select s.Name).ToArray()
    End Function

理由はわかりませんが、関数が呼び出されることはありません。

潜在的な問題 +問題が発生する可能性のあるいくつかの潜在的な問題があります。

  • AjaxControlToolkit dllをVSのツールバーに追加しようとしました
    (2010)、ただしすべてのコントロールがグレー表示されています…​

  • 私が書いたGetCompletionList関数(WebMethod)は、
    ページの背後にあるコード。 おそらくWebサービス内にある必要があるため、これを呼び出すことはできませんか?

  • また、コードビハインドでの私の機能が
    共有、これは必須ですか? オートコンプリートに関連付けられているリストは動的であるためです。

任意の助けがいただければ幸いです。

前もって感謝します。

  0  0


ベストアンサー

GetCompletionList関数をWebサービスに入れてみてください(asmxが最も簡単です)。 Webサービスクラスに[ScriptService]属性があり、関数に[ScriptMethod]属性があることを確認してください。

また、AutoCompleteExtenderの「ServicePath」プロパティでWebサービスへのパスを指定する必要があります(つまり、 ServicePath = “〜/ MyService.asmx”)

また、AutoCompleteExtenderコントロールからコンテキストキーを渡す場合を除き、関数に「contextKey」パラメーターは必要ありません。

hth

0


更新:これらの属性を追加して、試してください。 私は実装し、Webメソッドの背後にあるページで動作します。

ServiceMethod="yourGetfunction"
MinimumPrefixLength="2"
CompletionInterval="100"
EnableCaching="FALSE"
CompletionSetCount="20"

0


このソリューションを確認できます:http://suggester.codeplex.com/

テストするデモ:http://show-demos.net/suggester/

ALAX Toolkitからではなく、ASP.NET AJAXおよびjQueryを使用し、より豊富な機能を備えています

0


私はこれを機能させました:

 _
    Public Shared Function GetCompletionList(ByVal prefixText As String, ByVal count As Integer) As List(Of String)
        Dim listData As New List(Of String)
        listData.Add("A")
        listData.Add("B")
        listData.Add("C")
        Return listData
    End Function

私のHTML:

                    Type in your search:

0


タイトルとURLをコピーしました