Avatar billede tille Nybegynder
30. maj 2006 - 20:45 Der er 5 kommentarer og
1 løsning

substring og concatenering

hej

jeg har 'arvet' et site, skrevet i ASP, og jeg har ikke den store viden om dette.

der kan skiftes mellem dansk og engelsk på sitet og det gøres med denne kode

der tager det aktuelle link fra adresselinien og tilføjer

?sprog=dansk
eller
?sprog=english

Response.Write Request.ServerVariables("URL") & "?"
If Request.Servervariables("QUERY_STRING") <> "" Then
  Response.Write Request.Servervariables("QUERY_STRING") & "&"
End If
%>sprog=<%
If session("sprog") = "engelsk" Then
  Response.Write "dansk"">Dansk"
Else
  Response.Write "engelsk"">English"
End If

det virker dog ikke helt efter hensigten da der kommer til at stå

?sprog=dansk?sprog=english

hvis man een gang har skiftet sprog og vil skifte tilbage.

det jeg vil gøre er at se om strengen "?sprog=dansk" allerede findes og fjerne den.

det må være noget med at() og substring() men hvordan, nogen der lige kan fyre sådan en stump af ?
Avatar billede hu Nybegynder
30. maj 2006 - 23:03 #1
Prøv nedenstående:
If session("sprog") = "engelsk" Then
  Response.Write "dansk"">Dansk"
  session("sprog") = "dansk"
Else
  Response.Write "engelsk"">English"
  session("sprog") = "engelsk"
End If
Avatar billede tille Nybegynder
30. maj 2006 - 23:24 #2
Det vil ikke virke.

men det skyldes nok at jeg mangler at give lidt info om hvor min ovenstående kode anvendes.

det danner et link, der kan trykkes på for at skifte sprog.

det vil sige at jeg kan ikke bruge din kode, da jeg så ville skifte sprog allerede ved dannelsen af html, og jeg ville stadig få dobbelt angivelse af sprog:
?sprog=dansk?sprog=english

det jeg tænkte på var noget i pseudo stil:

streng s = Request.ServerVariables("URL")
int n = at(s, "?sprog=dansk")
if n > 0
  s = substring(s,1,len(s)-n)
endif

det er mine asp egenskaber dog for begrænsede til at kunne finde ud af.
Avatar billede tille Nybegynder
30. maj 2006 - 23:31 #3
den fulde kode der danner link

<a href="http://gsk-softball.dk/nyvip/">Log in</a></div>
<div id="h-mm" style="float: right"><a href="<%
Response.Write Request.ServerVariables("URL") & "?"
If Request.Servervariables("QUERY_STRING") <> "" Then
  Response.Write Request.Servervariables("QUERY_STRING") & "&"
End If
%>sprog=<%
If session("sprog") = "engelsk" Then
  Response.Write "dansk"">Dansk"
Else
  Response.Write "engelsk"">English"
End If
%></a>
Avatar billede hu Nybegynder
31. maj 2006 - 09:18 #4
Hvad sker der hvis du fjerner de markerede linier'

<a href="http://gsk-softball.dk/nyvip/">Log in</a></div>
<div id="h-mm" style="float: right"><a href="<%
Response.Write Request.ServerVariables("URL") & "?"
'If Request.Servervariables("QUERY_STRING") <> "" Then
'  Response.Write Request.Servervariables("QUERY_STRING") & "&"
'End If
%>sprog=<%
If session("sprog") = "engelsk" Then
  Response.Write "dansk"">Dansk"
Else
  Response.Write "engelsk"">English"
End If
%></a>
Avatar billede tille Nybegynder
31. maj 2006 - 10:40 #5
så ville jeg miste mine andre parametre, hvis der var nogle sådanne,

men igen var det dårligt formuleret af mig

min pseudokode skulle se således ud

streng s = Request.ServerVariables("QUERY_STRING")
int n = at(s, "?sprog=dansk")
if n > 0
  s = substring(s,1,len(s)-n)
endif
Avatar billede tille Nybegynder
11. juli 2006 - 18:50 #6
nåh lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester