2010-06-25 47 views
0

以下是我使用的代码,它不工作。 AutoCompleteExtender不工作

<asp:TextBox ID="txtWarrantNumber" runat="server"></asp:TextBox> 
<AjaxCtrl:AutoCompleteExtender ID="acWarrantNumber" runat="server" TargetControlID="txtWarrantNumber" 
    ServiceMethod="GetWarrantNumber" ShowOnlyCurrentWordInCompletionListItem="true" 
    CompletionInterval="100" EnableCaching="true" MinimumPrefixLength="1" CompletionSetCount="4"> 
</AjaxCtrl:AutoCompleteExtender> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</PopupTemplate> 

Public Shared Function GetWarrantNumber(ByVal prefixText As String, ByVal count As Integer) As String() 
    Dim warrantNumbers() As String = {"ankit", "sachin", "ankrrr", "ankppp"} 
    Return warrantNumbers 
End Function 

回答

1

GetWarrantNumber需要在一个WebService作为一个WebMethod的功能。并且您需要在ServicePath属性中提供WebService.asmx文件的位置。

AutoCompleteExtender

要做到这一点,而不需要与该页面中的以下包装的方法的Web服务:

<script runat="server"> 
    <System.Web.Services.WebMethod()> _ 
    <System.Web.Script.Services.ScriptMethod()> _ 
    Public Shared Function GetWarrantNumber() 
    ..... 
    End Function 
</script> 

如果你做这种方式,那么你就不需要提供ServicePath 。

+0

嗨,谢谢你的回复。但我不想使用Web服务,并且读取自动完成可以在没有使用页面功能的web服务的情况下使用。因此我在页面上声明了一个静态函数。 – Ankit 2010-06-25 09:25:29

+0

我已经更新了我的回答 – codingbadger 2010-06-25 09:36:34

+0

感谢您的回复。这对我在测试页上工作,但我使用AjaxControlToolkit.ModalPopupExtender和文本框不工作。任何想法 !! – Ankit 2010-06-25 11:33:20