webForumDet fria alternativet

Skapa variablar

ASP

7 svar · 315 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Frågan#1

Hej.

Undrar om det finns någon möjlighet om något liknande kunde fungera? Jag vill skapa variablar som heter samma namn som formulärfälten och har värdet man skrivit in där.

For each x in Request.Form
	x = Request.Form(x)
Next

/ marc

Medlem sedan juni 200032 967 inlägg
#2

Jo, det går (mha Execute() exempelvis), men det är inte någon bra idé. Vill du göra så för att du är lat, eller har du andra skäl? :)

Medlem sedan aug. 2002733 inlägg
#3

Lathet. :)

Men det är alltså att föredra att skapa variablarna på hederligt vis?

Medlem sedan juni 200032 967 inlägg
#4

Ja, det är att föredra att skapa variablerna på "hederligt vis" eftersom du ar mycket bättre koll på koden.

mvh

Medlem sedan juni 2002256 inlägg
#5

Vill du bara ha kortare namn på Request.Form, så kan du använda en dictionary.

Dim d, key
Set d = Server.CreateObject("Scripting.Dictionary")
For Each key In Request.Form
	d.Add key, Request.Form(key)
Next

Response.Write d("myFormControlName")
Medlem sedan juni 200032 967 inlägg
#6

Denkan skrev:

Vill du bara ha kortare namn på Request.Form

Är det bara det man är ute efter är det en omväg att använda dictionary-objekt.

function d(s)
      d = request.form(s)
end function
Medlem sedan juni 2002256 inlägg
#7

Touché, @nders ;-)

Medlem sedan maj 200010 687 inlägg
#8

Eller varför inte bara:

Dim d
Set d = Request.Form

I vissa fall kan dock ett dictionary vara bra att använda. Kan lätt ladda det både från Request.Form, från ett recordset eller var man nu kan tänkas få data ifrån...

744 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
608 ms — ändringar (db)