webForumDet fria alternativet

Inkludera olika filer med konstanter

ASP

6 svar · 209 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Jag ska beroende på vilket språkval som skickas med i en querystring inkludera olika konstanta variablar. De har jag i filer som heter tex.

CaptionstringSE.asp
CaptionstringGB.asp

De innehåller samma konstanter (samma namn) fast med olika värden i vad de har för information beroende på vilket språk det är.

Tänkte ta ut rätt genom

<%
Dim LangID
LangId = Request.Querystring("LangID"9
If LangID = "se" Then
%>
<!--#include file='/se/captionstrings.asp' -->
<%ElseIf LangID = "gb" Then %>
<!--#include file='/gb/captionstrings.asp' -->
<%End If%>

Men det fungerar ju inte eftersom includesen läses in först innan ifsattserna och de innehåller samma namn på konstanterna så man får
Name Redifined felmeddelande.

Om jag istället lägger if sattserna och alla konstanter i en och samma include borde man väll kunna få det att fungera kanske. Men det vill jag undvika eftersom jag vill inte blanda ihop språkspecifikasidor med icke språkspecifika. Men finns det inget annat sätt, någon som har löst liknande problem på ett smart sätt

Tacksam

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan dec. 200012 464 inlägg
#2

Kan du använda

server.execute("filnamm")

?

Kräver ASP 3.0 dock.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19996 522 inlägg
#3

Jag har en produkt sida som hämtar data från en sqlserver. Sen för att slippa dubletter gör jag bara en fil och tar ut spårket på dvs texter etc genom en querystring med landsvärdet i.

Sen skriver jag ut massa tabeller med produktfakta och konstanta variablarna är de olika rubrikerna i kollummer, olika för vilket språk jag väljer att hämta ifrån.

Om jag tar server execute fungerar det inte eftersom jag inte får in konstanterna.

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan dec. 19996 522 inlägg
#4

Det måste ju gå att lösa på något sätt, det fungerar ju inte heller om jag lägger if sattserna i includfilen, för konstanterna orsakar ju ändå felmedelandet "Name redefined".

Vad finns det för andra sätt som man kan lösa detta på, kommer inte på några själv idag typ förutom att lägga dem i en databas oxå å hämta ut det som den andra informationen

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 27 sep 2001]

Medlem sedan dec. 19996 522 inlägg
#5

Server.Execute fungerar inte, jag får inga värden i konstanterna.

En lösning skulle ju vara och döpa om konstanterna och skriva typ så här

LangId = Request.Querystring("LangId") 
If LangId = "gb" Then
Const RubrikGB = "Hello"
Const Rubrik2GB = "Hello again"
ElseIf LangId = "se" Then
Const RubrikSE = "Hello"
Const Rubrik2SE = "Hello again"
End If

och sen på produkt sidan få fram konstanterna genom att typ skriva nått sånnt här
<%=Rubrik"& LangID &"%>

hur skulle jag skriva en sådan ? fast ändå det är en osmidig lösning

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 27 sep 2001]

Medlem sedan jan. 20001 372 inlägg
#6

en tanke som slog mig var att du kanske definerar dina grejer i varje includefil.

testa att definera dem på sidan som filerna includeras på.

vet ju ej om det fungerar men det är värt ett försök ;)

------------------
// David - Probably the best guy in the world

Medlem sedan dec. 19996 522 inlägg
#7

jo det är ju därför jag får "redifned named". Sket i konstanter å gjorde dem till vanliga variabler.

Hur kan man göra dem till konstanter egentligen ?

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)