wake-up-neo.com

Wie man eine Saite in klassischem Asp aufteilt

Ich versuche, eine Zeichenfolge in einer klassischen Asp-Anwendung zu teilen, habe den folgenden Code auf der Seite und es scheint nicht zu funktionieren. Es gibt eine andere Frage, die ähnlich aussieht, sich aber mit einer anderen Art von Problem befasst. Ich habe die Antworten dort bereits gelesen und sie helfen nicht weiter. Jede Hilfe wäre dankbar.

<% 
Dim SelectedCountries,CitizenshipCountry, Count 
SelectedCountries = "IN, CH, US"    
CitizenshipCountry = Split(SelectedCountries,", ")
Count = UBound(CitizenshipCountry) + 1 
Response.Write(CitizenshipCountry[0])
Response.End
%>
4
Vipin Dubey

Sie haben einige Fehler gemacht, weshalb Sie nicht das erwartete Ergebnis erzielen.

  1. Wenn Sie die Grenzen eines Arrays überprüfen, müssen Sie die Array-Variable angeben, in diesem Fall die von Split() generierte Variable CitizenshipCountry.

  2. Auf Array-Elemente wird zugegriffen, indem die Ordnungsposition des Elements in Klammern angegeben wird ((...)) keine eckigen Klammern ([...]) .

Versuche dies:

<% 
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()
%>

Ich benutze IsArray, um zu überprüfen, ob die Variable ein gültiges Array enthält, bevor ich UBound() aufrufe, um diese Art von Fehlern zu vermeiden.

<% 
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()
%>
5
Lankymart

Tolle Antwort und gute Sollution. Ich füge For Look hinzu, während ich einen String in ein Array konvertiere:

Dim SelectedCountries, CitizenshipCountry, Count, x

SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split (SelectedCountries, ",") 'Ermittelt die Anzahl des Arrays, nicht die Zeichenfolge. Count = UBound (CitizenshipCountry) 'Verwenden Sie (..), wenn Sie auf Array-Elemente verweisen.

für x = 0 zum Zählen von Response.Write (CitizenshipCountry (x) & "Break Tag HTML")
Nächster

Für weitere Hilfe erreichen Sie mich unter [email protected]