2010-08-07 6 views
0

Je veux utiliser jquery ui auto complète plugin dans asp.net. c'est mon derrière le code:Jquery Auto Complete dans asp.net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Dim locations As String() = New String() {"Las Vegas", "Los Angeles", "Tampa", "New York", "s", "sss"} 
    Dim jsArray As String = GetJSArrayForVBArray(locations) 
    Me.ClientScript.RegisterArrayDeclaration("usernames", jsArray) 
End Sub 
Private Function GetJSArrayForVBArray(ByVal vbArray As String()) As String 
    Dim myResult As New StringBuilder() 
    For Each item As String In vbArray 
     With myResult 
      .Append(",'" & item & "'") 
     End With 
    Next 
    If (myResult.Length > 0) Then 
     Return myResult.ToString().Substring(1) 
    Else 
     Return "" 
    End If 
End Function 

ce code est en html:

<script type="text/javascript"> 
    $(function() { 
     var availableTags = new Array(); 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 
    }); 
</script> 

<label for="tags">Tags: </label> 
<input id="tags" /> 

quel est le problème? cela ne fonctionne pas. lorsque je remplis tableau dans la page aspx cela fonctionne, mais quand je veux remplir derrière le code pas. merci.

+0

Cher Sarfraz Merci beaucoup pour l'édition :). – Shahin

Répondre

1

Essayez de changer JS à ceci:

<script type="text/javascript"> 
$(function() { 
    $("#tags").autocomplete({ 
     source: usernames 
    }); 
}); 
</script> 

Si je devine votre code .Net correctement, vous vous inscrivez « les noms d'utilisateur » comme le tableau javascript, mais en essayant d'utiliser les vides « availableTags 'comme source de saisie semi-automatique.

Remarque: cela peut être complètement hors base ici - Je n'ai pas utilisé ClientScript.RegisterArrayDeclaration ou le plugin jQuery autocomplete dans le code que j'ai écrit auparavant.

+0

merci. où est la définition de tableau javascript? – Shahin