今天大家怎么样?
问题
基本上,我今天正在深入研究 AjaxControlToolkit 的世界,主要目的是满足我的 AutoComplete 要求。我已经按照教程设置了所有内容,并且对于为什么事情不工作有点困惑(好吧,我知道可能是什么阻碍了我)。
我已将 AjaxControlToolkit dll 添加到我的项目中,并且在我的标记中我有以下内容:
在顶部
<%@ 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
由于我不确定的原因,该函数永远不会被调用。
潜在问题
有几个潜在问题可能会出错:
- 我尝试将 AjaxControlToolkit dll 添加到 VS(2010)中的工具栏,但所有控件都显示为灰色...
- 我写的GetCompletionList函数(WebMethod)在页面后面的代码中。因为它可能必须在 Web 服务中,所以不能调用它吗?
- 我也刚刚意识到我后面代码中的函数不是Shared,这是必需的吗?因为与自动完成关联的列表是动态的。
任何帮助,将不胜感激。
提前致谢。