Hallå,
jag håller på att bygger en adminsida och har (som vanligt) stött på ett problem.
Den här gången är det server.execute som inte fungerar som jag vill :)
Jag har en sida som jag originellt nog valt att kalla default.asp där jag bestämmer lite konstanter och annat som behövs för att det hela ska bli korrekt
har bl a en array som heter arrSidor
utdrag ur default.asp
dim arrSidor
arrSidor = array("Nyheter", "Låtar", "Prov2")
...
' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
'Nyheter
' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
elseif request.querystring("visa")= arrSidor(0) and session("Admin") = true then
Server.Execute("asp/nyheter.asp")
och problemet är att jag får en:
Type mismatch: 'arrSidor'
/admin/asp/nyheter.asp, line 19
Rad 19 i nyheter.asp
response.write "<td><form method='post' action='" & Filnamn & "?visa=" & arrSidor(0) & "&page=nyhetny' name='nyknapp'>"
Vad har jag missuppfattat eller gjort fel?
Förslag till lösningar mottages med glädje. ;)
emissionMedlem sedan dec. 19996 721 inlägg Variabler i default.asp kommer inte att finnas tillgängliga i nyheter.asp ( i detta fall saknas arrSidor). Sidan som exekveras av Server.Execute har en helt egen arbetsrymd.
O detta gäller alla typer variabler?
(som constanter, session etc...)
red. Det spelar ingen roll, jag inkluderar bara en egen sida med alla variablar jag behöver.
Tack för hjälpen /Patrik
colioneMedlem sedan juni 20014 421 inlägg har du provat att använda ExecuteGlobal() istället?
http://blogs.msdn.com/ericlippert/archive/2003/09/20/53058.aspx
Annars fungerar det väl bra att länka in asp-filen på det vanliga sättet?
För att använda ExecuteGlobal måste du läsa in koden i en variabel först:
set oFile = fso.OpenTextFile(sFileName,1)
sText = oFile.ReadAll
oFile.close
ExecuteGlobal sText
Annars fungerar det väl bra att länka in asp-filen på det vanliga sättet?
Det gör det, men då tvingas väl servern läsa in alla sidorna ändå, o det är ett par kb. ;)
Ska kolla på global execute, men till att börja med länkar jag in variablerna i varje sida på det "vanliga sättet".