J'essaie de scinder une chaîne dans une application ASP classique, j'ai le code ci-dessous dans la page et cela ne semble pas fonctionner. Il y a une autre question qui semble similaire mais qui concerne différents types de problèmes. Je suis déjà allée voir les réponses à cette question et cela n'aide en rien. Toute aide serait appréciée.
<%
Dim SelectedCountries,CitizenshipCountry, Count
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split(SelectedCountries,", ")
Count = UBound(CitizenshipCountry) + 1
Response.Write(CitizenshipCountry[0])
Response.End
%>
Vous avez commis quelques erreurs, raison pour laquelle vous n'obtenez pas le résultat escompté.
Lors de la vérification des limites d'un tableau, vous devez spécifier la variable de tableau, dans ce cas, la variable générée par Split()
qui est CitizenshipCountry
.
On accède aux éléments du tableau en spécifiant la position ordinale de l'élément entre parenthèses ((...)
) pas entre crochets ([...]
) .
Essaye ça:
<%
Dim SelectedCountries, CitizenshipCountry, Count
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split(SelectedCountries,", ")
'Get the count of the array not the string.
Count = UBound(CitizenshipCountry)
'Use (..) when referencing array elements.
Call Response.Write(CitizenshipCountry(0))
Call Response.End()
%>
Ce que j'aime faire, c'est utiliser IsArray
pour vérifier que la variable contient un tableau valide avant d'appeler UBound()
pour éviter ces types d'erreur.
<%
Dim SelectedCountries, CitizenshipCountry, Count
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split(SelectedCountries,", ")
'Get the count of the array not the string.
If IsArray(CitizenshipCountry) Then
Count = UBound(CitizenshipCountry)
'Use (..) when referencing array elements.
Call Response.Write(CitizenshipCountry(0))
Else
Call Response.Write("Not an Array")
End If
Call Response.End()
%>
Bonne réponse et bonne résolution. J'ajoute For Look lors de la conversion de String en tableau:
Dim SelectedCountries, CitizenshipCountry, Count, x
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split (SelectedCountries, ",") 'Obtenir le nombre du tableau et non la chaîne. Count = UBound (CitizenshipCountry) ' Utiliser ( ..) lors de la référence d'éléments de tableau.
pour x = 0 Pour compter Response.Write (CitizenshipCountry (x) & "Break Tag HTML")
suivant
Pour toute aide supplémentaire, contactez-moi à [email protected]