今日はみんな元気?
問題
基本的に、私はオートコンプリートの要件を満たすことを主な目的として、今日AjaxControlToolkitの世界を掘り下げています。私はすべてをチュートリアルとして設定しましたが、なぜ物事が機能しないのかについて少し混乱しています(私は何が私を妨げているのかについての知識があります)。
プロジェクトにAjaxControlToolkitdllを追加しましたが、マークアップには次のものがあります。
頂点で
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxControlToolkit" %>
その後、私のコンテンツ内
<ajaxControlToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxControlToolkit:ToolkitScriptManager>
<asp:TextBox ID="txtSearch" runat="server" CssClass="search"></asp:TextBox>
<ajaxControlToolkit:AutoCompleteExtender ID="autoCompleteSearchExtender" runat="server" TargetControlID="txtSearch" ServiceMethod="GetCompletionList"></ajaxControlToolkit:AutoCompleteExtender>
次に、背後のコードに、私の素敵な小さな関数があります(その中のブレークポイントに到達することはありません)
<System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()> _
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
よくわからない理由で、関数が呼び出されることはありません。
潜在的な問題問題が発生する可能性のある潜在的な問題
がいくつかあります。
- VS(2010)のツールバーにAjaxControlToolkit dllを追加しようとしましたが、すべてのコントロールがグレー表示されています...
- 私が書いたGetCompletionList関数(WebMethod)は、ページの後ろのコードにあります。おそらくWebサービスに含まれている必要があるため、これを呼び出すことはできませんか?
- また、コードビハインドの関数が共有されていないことに気づきました。これは必要ですか?オートコンプリートに関連付けられているリストは動的であるためです。
どんな助けでもいただければ幸いです。
前もって感謝します。