webForumDet fria alternativet

Querystringsproblem, ta en tillbaks till samma sida...

ASP

8 svar · 512 visningar · startad av solbulle

Medlem sedan mars 20015 287 inlägg
Frågan#1

Nu banne mig har jag tacklat av alldeles.

Jag vill på en sida ha en länk med en querystring för att skicka med ett värde, efter det vill jag skicka tillbaks till den sidan där man var.
Hur löser jag det?

Problemet är att det ska bli rätt med de övriga querystrings man har med sig så att säga...

Typ:

Man är på sida.asp?show=pop&lang=sv

Och klickar på en länk som ska ge lang=fi

Hur ska den länken se ut?

Medlem sedan juni 20019 024 inlägg
#2

Du kan ju (på mottagarsidan) gå igenom QueryString-collection och byta ut lang=sv mot lang=fi och sedan bygga upp en ny QueryString dynamiskt. Därefter skickar du användaren till den "nya" sidan.

Medlem sedan jan. 20022 440 inlägg
#3

Jag gjorde en liten funktion för det för en faslig massa år sedan, vet inte om det hjälper dig nåt vidare med jag bifogar koden iaf :)

Function GetCurrentURL()
	Dim strQueryString
	Dim strServerName
	Dim strScriptName
	Dim strURL

	strQueryString = Request.QueryString
	strServerName = Request.ServerVariables("SERVER_NAME")
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	strURL = "http://" & strServerName & strScriptName
	If strQueryString <> "" Then
		strURL = strURL & "?" & strQueryString
	End If

	GetCurrentURL = strURL
End Function
Medlem sedan mars 20015 287 inlägg
#4

Det var till hjälp, jag fick ihop detta:

Function backlink(str)
	strquery = request.querystring
	strscriptname = request.servervariables("SCRIPT_NAME")

		queryArr = split(strquery , "&")

		for i = 0 to ubound(queryArr)
			If instr(queryArr(i),str) then
				'Gud och någon mer vet varför jag inte kan använda mig av NOT i If-satsen
				'jag vet det inte...	
			Else
				backlink = queryArr(i) & "&" & backlink
			End if
		Next

	backlink = strscriptname & "?" & backlink 

End function

som jag tror ska fungea.

Medlem sedan juni 20003 076 inlägg
#5

Solbulle skrev:

'Gud och någon mer vet varför jag inte kan använda mig av NOT i If-satsen
'jag vet det inte...

Det har jag också stört mig på. Men, om man tänker efter lite så är det kanske inte så konstigt (tror jag) för instr returnerar ju talet på placeringen av första träffen och inte ett boolvärde.
Så korrekt skriven sats borde då bli:

If instr(queryArr(i),str) = 0 Then
...
End If

Man borde även kunna omvandla till en bool:

If Not cBool(instr(queryArr(i),str)) Then
...
End If

Eller nått! :)

Medlem sedan maj 200010 687 inlägg
#6

Not 0 är -1
Not 1 är -2
Not 2 är -3
o.s.v.

0 i sin tur är false medans allt annat är true. Därför är Not 1=true.

Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

Solbulle skrev:

'Gud och någon mer vet varför jag inte kan använda mig av NOT i If-satsen
'jag vet det inte...

Detsamma gäller Len().

För ett tag sedan skulle jag använda mig av det för att det är mer korrekt än större/mindre än av ett värde, men det ville sig inte alls! Tog ett tag för att komma på att NOT av en längd inte alls blir det jag tänkte mig...

Man ska ha Len() > < (ev =) för att det ska bli korrekt.

Medlem sedan mars 20015 287 inlägg
#8

Ah!

Där ser man, men som tidigare sagt, det är väl det forumet är till för, att man ska lära. :)

Medlem sedan jan. 20022 440 inlägg
#9

Jaha där lärde jag mig nåt nytt också! Har alltid funderat på varför i hela friden det inte alltid vill som jag :)

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