Avatar billede mhoffmann Nybegynder
12. februar 2004 - 16:33 Der er 5 kommentarer og
1 løsning

Skifte sider med ASP i frames

Hej

Jeg plejer altid at lave min sider i ASP uden frames med følgende ASP script til sideskift:

Default.asp:
<%@ LANGUAGE = VBScript %>

<% response.Expires = 0 %>

<%
If not Request.QueryString("status").Count=0 then
    Status = Request.QueryString("status")(1)
end if   
%>

indhold.asp:
<% If Request.QueryString("status").Count=0 Then %>
                    <!--#include file="forside.asp"-->
                <% Else  %>
                <% End If %>
 
                <% if not Status = "" then %>
                    <% if Status = "forside" then %>
                    <!--#include file="forside.asp"-->
                    <% elseif Status = "profil" then %>
                    <!--#include file="profil.asp"-->
                    <% end if%>
                <% end if%>


Ud fra det script kan jeg så linke til f.eks. "default.asp?status=profil" og så viser den siden "profil.asp"

Men, nu har jeg opbygget siden i frames med følgende:

Default.asp:
<%@ LANGUAGE = VBScript %>

<% response.Expires = 0 %>

<%
If not Request.QueryString("status").Count=0 then
    Status = Request.QueryString("status")(1)
end if   
%>

...

<frameset rows="100,*,30" cols="*" framespacing="0" frameborder="no" border="0">
    <frame src="top.asp" frameborder="No" scrolling="No" noresize>
    <frame src="main.asp">
    <frame src="bund.asp" frameborder="No" scrolling="No" noresize>
</frameset>

og i main har jeg en fil der indeholder:

<% If Request.QueryString("status").Count=0 Then %>
                    <!--#include file="forside.asp"-->
                <% Else  %>
                <% End If %>
 
                <% if not Status = "" then %>
                    <% if Status = "forside" then %>
                    <!--#include file="forside.asp"-->
                    <% elseif Status = "profil" then %>
                    <!--#include file="profil.asp"-->
                    <% end if%>
                <% end if%>

Jeg linker til profil med følgende link:

<a href="default.asp?status=profil" target="_parent" class="nodec-11">Profil</a>

Men det viker ikke. Den skifter ikke side. Den bliver bare på forsiden. Men urlen skifter til "default.asp?status=profil".

Så hvordan får jeg det til at virke i frames??
Avatar billede ellebaek Nybegynder
12. februar 2004 - 23:13 #1
Et godt råd er ikke at bruge så mange <% tags.. Hvis du har IIS kan du benytte server.execute i stedet for <!-- #inlcude file

<%
If IsEmpty(Request.QueryString("status")) Then
  server.execute "forside.asp"
Else
  if Status = "forside" then
    server.execute "forside.asp"
    elseif Status = "profil" then
    server.execute "profil.asp"
  end if
end if
%>

Prøv lige denne, og sig hvad der sker.
Avatar billede fennec Nybegynder
13. februar 2004 - 08:19 #2
du har ikke din status med i din main.asp
<frame src="main.asp?status="& Request.QueryString("status")>
Avatar billede mhoffmann Nybegynder
13. februar 2004 - 10:21 #3
>> ellebaek: Det har jeg nu gjort, men der sker det samme.

>> fennec: Forstår ikke hvad du mener...?

I kan se siden her hvis det hjælper: http://www.i-butikker.dk/nyhoffmann
Avatar billede mhoffmann Nybegynder
13. februar 2004 - 10:32 #4
Nå, nu har jeg fået det til at virke... :-)

Legede lidt med target i linket, som åbenbart skulle sættes til target="_main"...

Men tak for forslagene
Avatar billede fennec Nybegynder
13. februar 2004 - 10:57 #5
husk at lukke ?'et

Hvordan ser din kode så ud? Spørger bare af nysgerighed, for som jeg kan se det burde det resultere i at der bare bliver flere frames når man klikke på et link (hvilket der også sker på http://www.i-butikker.dk/nyhoffmann)
Avatar billede mhoffmann Nybegynder
14. februar 2004 - 10:03 #6
hej fennec: Jeg ville også lukke, ville bare lige vente og se om der skulle komme flere kommentare eller ligende.

Siden på www.i-butikker.dk/nyhoffmann er ikke den nyeste versio, jeg har ikke fået uploadet den endnu. Men koden er den samme som jeg først skrev, jeg har bare ændret linket så den henter main.asp og så den åbner i main
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