webForumDet fria alternativet

Göra om paging...

ASP

6 svar · 306 visningar · startad av Karlsson

Medlem sedan maj 2000252 inlägg
Frågan#1

Hejsan
Använder en paging som funkar, nu vill jag byta ut texterna Föregående, Nästa, Sida osv beroende vilket språk man valt. Det har jag tänkt använda Request.Querystring till. Antar att det är ett fnuttproblem...
Så här ser originalet ut (visar en snutt bara)

    <%
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<p style='text-align: center'>" & "<A href='" & strScriptName & "?" & _
			"page=" & WichPage - 1 & "' style='text-decoration: none'><< Föregående</A> "
	Else
		Response.Write "<p style='text-align: center'>" & "<< Föregående "
	End If
End Sub

Jag sätter sen variabler;

lang = Request.QueryString("lang")
If lang = "se" Then
forra = "Föregående"
nasta = "Nästa"
Else If lang = "de" Then
forra = "Voriges"
nasta = "Nächtes"
End If
End If

Hur byter jag nu ut texten "Föregående" resp. "Nästa" mot mina variabler? Har provat följande:

'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<p style='text-align: center'>" & "<A href='" & strScriptName & "?" & _
			page"=" & WichPage - 1 & "' style='text-decoration: none'><< "&forra& "</A> "
	Else
		Response.Write "<p style='text-align: center'>" & "<< "&forra
	End If
End Sub

Får följande felmeddelande:
Sun ONE ASP VBScript compilation (0x800A03F2)
Expected identifier
/gastbok3.asp, line 94, column 1
Linje 94:
Sub PrevPage(ByVal WichPage)

/Karlsson, tacksam för svar!

Medlem sedan mars 20015 287 inlägg
#2

Du har glömt en "

'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<p style='text-align: center'><A href='" & strScriptName & "?" & _
			"page"=" & WichPage - 1 & "' style='text-decoration: none'><< "&forra& "</A> "
	Else
		Response.Write "<p style='text-align: center'><< "&forra
	End If
End Sub
Medlem sedan maj 200351 inlägg
#3

Re: Göra om paging...

Karlsson skrev:

Hur byter jag nu ut texten "Föregående" resp. "Nästa" mot mina variabler? Har provat följande:

'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<p style='text-align: center'>" & "<A href='" & strScriptName & "?" & _
			page"=" & WichPage - 1 & "' style='text-decoration: none'><< "&forra& "</A> "
	Else
		Response.Write "<p style='text-align: center'>" & "<< "&forra
	End If
End Sub

Får följande felmeddelande:
Sun ONE ASP VBScript compilation (0x800A03F2)
Expected identifier
/gastbok3.asp, line 94, column 1
Linje 94:
Sub PrevPage(ByVal WichPage)

/Karlsson, tacksam för svar!

Du har fått till en " för mycket... efter page..

Response.Write "<p style='text-align: center'>" & "<A href='" & strScriptName & "?" & _
"page=" & WichPage - 1 & "' style='text-decoration: none'><< "&forra& "</A> "

Medlem sedan maj 2000252 inlägg
#4

Hej igen!
Nu klagar sidan på att:

'nasta' is undefined
/gastbok_77.asp, line 112

Det funkar bra så länge jag bara använder "forra"...

	Dim forra
	Dim nasta
	Dim sidan

	If lang = "se" Then
	forra = "Föregående"
	nasta = "Nästa"
	sidan = "Sida"
	Else If lang = "uk" Then
	forra = "Previous"
	nasta = "Next"
	sidan = "Page"
	Else If lang = "de" Then
	forra = "Voriges"
	nasta = "Nächtes"
	sidan = "Zeite"
	End if
	End If
	End If
	'****************************************************************
	'********VARIABLERNA DIMMADE OCH KLARA FÖR ANV.******************
	'****************************************************************
	
	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<p style='text-align: center'>" & "<A href='" & strScriptName & "?" & _
			"page=" & WichPage - 1 & "' style='text-decoration: none'><< "&forra& "</A> "
	Else
		Response.Write "<p style='text-align: center'>" & "<< "&forra
	End If
End Sub

'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")
	
	'## -- skriv ut en länk till nästa sida --

	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write "<A href='" & strScriptName & "?" & _
			"page=" & WichPage + 1 & "' style='text-decoration: none'>"& nasta & " >></A>" & "<p style='text-align: center'>"
	Else
		Response.Write nasta &" >>" & "<p style='text-align: center'>"
	End If
End Sub

Tack på förhand!

/Karlsson

Medlem sedan maj 2000252 inlägg
#5

Här får jag rycka in och svara på min egen fråga!
Kunde naturligtvis inte dimma variabeln utanför sub:en så när jag flyttade in det innanför så funkade det!

Så det kan gå...

Medlem sedan mars 20002 836 inlägg
#6

En liten petitess.

Skippas If Else ElseIf och allt vad som har med If-satsen när du väljer språk.

Kör en select case istället, betydligt "snyggare":

lang = Request.QueryString("lang")

Select Case LCase(lang)

	Case "uk"
		forra = "Previous"
		nasta = "Next"
		sidan = "Page"

	Case "de"
		forra = "Voriges"
		nasta = "Nächtes"
		sidan = "Zeite"

	Case Else
		forra = "Föregående"
		nasta = "Nästa"
		sidan = "Sida"

End Select

cya,
/PatrikB

Medlem sedan maj 2000252 inlägg
#7

Så fiffigt!
Tack för det, du har rätt, det ser betydligt trevligare ut!

272 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)