2010-06-25 7 views
0

Voici le code que j'utilise et il ne fonctionne pas. AutoCompleteExtender ne fonctionne pas

<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 

Répondre

1

La fonction GetWarrantNumber doit être dans un WebService comme WebMethod. Et vous devez fournir l'emplacement du fichier WebService.asmx dans la propriété ServicePath.

AutoCompleteExtender

Pour faire cela sans un webservice dont vous avez besoin envelopper votre méthode avec les éléments suivants dans la page:

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

Si vous le faites de cette façon, alors vous n'avez pas besoin de fournir un ServicePath .

+0

Salut, Merci pour la réponse. Mais je ne veux pas utiliser les services Web et lire que la saisie semi-automatique peut être utilisée sans webservices utilisant également les fonctions de la page. J'ai donc déclaré une fonction statique sur la page. – Ankit

+0

J'ai mis à jour ma réponse – codingbadger

+0

merci pour la réponse. Cela a fonctionné pour moi sur une page de test mais j'utilise AjaxControlToolkit.ModalPopupExtender et la zone de texte ne fonctionne pas sur cela. Une idée !! – Ankit