Avatar billede Slettet bruger
06. oktober 2006 - 14:53 Der er 14 kommentarer og
1 løsning

hente to poster i en redirect

Denne fungerer:
Response.Redirect RecSet("link")

Men jeg har også brug for at hente target fra db og her fungerer:
Response.Redirect RecSet "('" & link & "', '" & target & "')" ikke.
Hvordan skrives det så?
Avatar billede softspot Forsker
06. oktober 2006 - 14:57 #1
Du kan ikke specificere target på serveren via Response.Redirect (rent faktisk tror jeg ikke du kan specificere target på serveren - punktum!) :)
Avatar billede Slettet bruger
06. oktober 2006 - 15:00 #2
Hvad mener du?
Jeg gør det med Response.write.
Avatar billede softspot Forsker
06. oktober 2006 - 15:15 #3
Dit spørgsmål er for kort formuleret til at man kan tyde hvad du vil og hvad du kunne tænke dig at gøre. Det eneste jeg kan se er at du forsøger at hente to felter fra noget der kunne ligne et recordset (men det kan jo kun blive et gæt med den kode og de informationer du har vist). Hvis det enste du skal vide, er hvordan du henter et ekstra felt fra et recordset, så er svaret:

RecSet("link")
RecSet("target")

Hvis det er noget andet du skal vide, så må du prøve at formulere dig mere præcist... :)
Avatar billede Slettet bruger
06. oktober 2006 - 15:27 #4
Jeg bruger i en anden sammenhæng denne:
Do Until RS2.EOF 
          L =RS2("link")
          Target = RS2("target")
          RS2.MoveNext 
          If Not RS2.EOF Then
                  Response.Write "<tr><td><b>»</b><font class='stil'><a href='" & L & "' " & target & ">" & N & "</font></a></td></tr>"
...som fungerer fint. Men på det jeg arbejder på nu skal den blot redirecte
Avatar billede softspot Forsker
06. oktober 2006 - 16:00 #5
Det er lidt forvirrende det du siger, for omdirigeringen sker på serveren med redirect og target sættes på klienten.

Jeg kan godt forstå det du udskriver med Response.Write, men jeg har stadig svært ved at forstå hvad det er du vil opnå (du har jo vist kode for en redirect, så det kan ikke være det der er problemet). Hvis det bare er et link som skifter den aktuelle sides indhold ud med det der linkes til, så skal target vel bare fjernes fra dit link... men det kan næsten ikke være det du spørger efter, da du jo har kode som viser at du kan finde ud af lave sådan et link med response.write...

jeg er altså stadig usikker på hvad du ønsker... sorry...
Avatar billede Slettet bruger
06. oktober 2006 - 22:30 #6
Jeg prøver...
Response.Write skriver linket i menuen som det skal. Klikker jeg på linket åbnes det i rammen angivet i target (i db).
Men det er ikke det jeg skal bruge.
Jeg skal hente linket i db og umiddelbart redirecte til siden posten indeholder.
Men til en specifik ramme.
Dvs at jeg foruden "link" også skal bruge en "target" funktion.
Men det mener du altså ikke kan lade sig gøre med rediract?
Avatar billede Slettet bruger
06. oktober 2006 - 22:37 #7
Men det er selvfølgelig rigtigt hvad du skriver.
Det ser ud til at jeg skal over noget javascript for opnå det.
Avatar billede softspot Forsker
06. oktober 2006 - 23:45 #8
Ja, jeg har i det mindste aldrig hørt at man skulle kunne omdirigere til et andet vindue/ramme på klienten, fra serveren. Jeg har derimod flere gange hørt at man ikke kan :)

Anyway! Så synes jeg netop at du gør det du siger du har brug for, i den kode du udskriver med den Response.Write du har lavet, men noget kunne tyde på at du gerne vil gøre det anderledes end med et link og en dertil hørende target...(?)

Hvad er det for noget information du gemmer i feltet target i databasen (giv evt. et eksempel)?
Avatar billede Slettet bruger
07. oktober 2006 - 12:19 #9
Det er fra denne form der skal redirectes til en side i en bestemt ramme (efter hvilke bruger der logger ind).
Problemet er så lige "target". Der redirectes korrekt men siden åbnes i den ramme som formen ligger i.

  If Not RecSet.EOF Then
      If Request.Form("admin2") = RecSet("adgangskode") Then
            login="ok"
      Else
          Response.Redirect "admin.asp?adgangskode=nej"   
      End If
     
        If Request.Form("admin1") = RecSet("brugernavn") Then
            login="ok"
      Else
          Response.Redirect "admin.asp?bruger=nej"   
    End If
   
    If Request.Form("omraadet") = RecSet("omraade") Then
            login="ok"
    Else
      Response.Redirect "admin.asp?omraadet=nej"   
End if
                 
    If login="ok" Then
      Session("login") = "ok"
      Session("user") = Request.Form("admin1")
      Session.TimeOut = 40
      Response.Redirect RecSet("link")
      End If
  End If
End if
Avatar billede softspot Forsker
07. oktober 2006 - 19:46 #10
Du kan også sætte target på dit form-element...
Avatar billede Slettet bruger
08. oktober 2006 - 13:37 #11
Det kræver en forklaring??
Hvor kan jeg sættet "target" hvis ikke det er i.forb.m. redirect?
Avatar billede softspot Forsker
08. oktober 2006 - 14:34 #12
Du "poster" en formular for at logge på et eller andet system. På den formular som du igangsætter dit loginfra, kan du specificere en attribut som hedder target. Target er på et form-element, som på et link (a-element), en besked til browseren om, hvilket vindue resultatet af dit "post" skal vises i.

Eksempel:

<form action="login.asp" method="post" target="nytvindue">
...
</form>
Avatar billede Slettet bruger
08. oktober 2006 - 20:24 #13
Det er da helt rigtigt. Hvor enkelt bortset fra jeg ikke kan styre hvilken ramme siden skal åbnes i.
Dvs. hvis bruger er "a" og adk. er "b" åbnes i ramme "x" mens bruger "b" med adk "b" skulle være åbnet i ramme "y".
Men det må komme i næste episode :)

Tak for hjælpen og sender du et svar så du kan få dine p.
Avatar billede softspot Forsker
08. oktober 2006 - 21:48 #14
Ja, hvis du vil styre det på den måde, så skal du nok gennemføre login i 2 trin.

Det vil sige at du skal lave 2 forspørgsler til serveren i fbm. login. Den første spørger serveren om brugeren kan logges på og returnerer et svar, som dels indeholder om brugeren logges på, dels hvilken ramme/vindue der skal navigeres i og evt. hvilken side der skal navigeres til. Dernæst navigeres (hvis brugeren ellers kunne logges på) i den relevante ramme/vindue.

Din første forspørgsel kunne f.eks. laves i en skjult iframe (eller med AJAX), hvorefter du så med javascript på klienten navigere efter behov i den synlige ramme.
Avatar billede softspot Forsker
09. oktober 2006 - 14:14 #15
Tak for point :)
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