webForumDet fria alternativet

Dynamisk variabel - går det?

ASP

3 svar · 434 visningar · startad av headbug

Medlem sedan sep. 2006867 inlägg
Frågan#1

Hej!

Sitter och jobbar i många olika språk och miljöer och nu har jag fått för mig att jag ska kunna skapa ett dynamiskt variabelnamn i ASP/VBScript... men det kanske var i matlab eller C# eller någon annan stans.

Jag har en meny på en hemsida som leder till index.asp, work.asp, etc.

Menyn har jag inkluderat så det är samma meny-script på alla sidor. För att ta reda på vilken sida jag faktiskt befinner mig på så använder jag

	Dim thispage
	thispage = Request.ServerVariables("SCRIPT_NAME")
	thispage = Right(thispage, Len(thispage)-InStrRev(thispage, "/"))

Sen sätter jag en css-class för att markera aktiv:

	if thispage = "index.asp"   then a_index   = "active"
	if thispage = "news.asp"    then a_news    = "active"
	if thispage = "work.asp"    then a_work    = "active"
	if thispage = "contact.asp" then a_contact = "active"

Men helst vill jag slippa skapa dessa variabler själv, så jag tänkte att jag skulle vara listig och köra något som (om det fungerade) skulle kunna se ut såhär:

	Eval "a_" & Left(thispage, Len(thispage)-4) = "active"

Men det gick ju inte, har någon något förslag på hur man gör eller kan tala om att det inte går?

Jag använder resultatet i denna kod:

<div id="top"><img src="i/top.gif" alt="top" /></div>
<div id="logo"><a href="index.asp"><img src="i/logo.gif" alt="logo" border="0" /></a></div>
<div id="menu">
	<a href="index.asp" class="<%=a_index%>">Start.</a>
	<a href="news.asp" class="<%=a_news%>">Nyheter.</a>
	<a href="work.asp" class="<%=a_work%>">Arbete.</a>
	<a href="contact.asp" class="<%=a_contact%>">Kontakt.</a>
</div>
Medlem sedan dec. 20025 483 inlägg
#2

Hej!

Lösningen är att använda ett dictionary. OveRRidE tog upp detta inte alltför länge sedan:
http://www.webforum.nu/showthread.php?p=1257904#post1257904

Medlem sedan sep. 2006867 inlägg
#3

Ah, tackar!

Medlem sedan dec. 20025 483 inlägg
#4

Påminner om funktionen acceptera som slutgiltigt svar.

274 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
143 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
141 ms — ändringar (db)