Dethär är mitt första inlägg i dethär forumet så jag hoppas att jag inte gör bort mig helt. :)
I helgen så råkade jag ut för ett lite konstigt beteende i ASP.
Jag försökte skicka in ett dictionary-object i en funktion men det blev lite fel... Det gick nämligen inte att använda Exists() om jag inte hade läst ut ett värde från arrayen(?)!.
Tror exemplet nedan förklarar bättre, den _borde_ skriva ut:
This is a test1.
This is a test2.
men i alla fall på den servern jag jobbar mot så får jag:
Nope1.
This is a test2.
Snälla! Hjälp mig någon! Förklara vad som händer. För jag blir galen snart. :) (Går iofs att programmera runt problemet men det känns inte så bra att behöva göra det.)
<%
Function test1(foo)
If (foo.Exists("yow")) Then
test1 = "This is test1.<BR>"
Else
test1 = "Nope1.<BR>"
End If
End Function
Function test2(foo)
i = foo.Item("yow")
If (foo.Exists("yow")) Then
test2 = "This is test2.<BR>"
Else
test2 = "Nope2.<BR>"
End If
End Function
Kan bara hålla med. Men eftersom VBScript har nästan obefintlig felhantering så tycker
nog Microsoft att det är enklare att foo.Item("banan") skapar ett element och returnerar
en tom sträng om "banan" inte finns, snarare än att tvinga programmerare att hela tiden skriva:
if foo.Exists("banan") then
hej = foo.Item("banan")
else
hej = "" 'Eller nåt annat.
end if
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e