webForumDet fria alternativet

Inkludera olika ram sidor med ASP?

ASP

6 svar · 266 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Jag gör så här för tillfället men undrar om det finns något bättre sätt att inkludera en sida som innehåller själva ram (frames) sidan?

<%@ LANGUAGE="VBSCRIPT" %>
<%
Response.Expires=-1
Response.Buffer = True

%>
<!-- #INCLUDE VIRTUAL="/include/koppling.asp" -->

<%
Set Rs = Connect.Execute("SELECT layout FROM members WHERE username='"& Session("id") &"'")

If Rs("layout")="1" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/1/default.asp" -->
<%
Elseif Rs("layout")="2" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/2/default.asp" -->
<%
Elseif Rs("layout")="3" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/3/index.asp" -->
<%
Elseif Rs("layout")="4" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/4/index.asp" -->
<%
Elseif Rs("layout")="5" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/5/default.asp" -->
<%
Elseif Rs("layout")="6" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/6/default.asp" -->
<%
Elseif Rs("layout")="7" Then%>
<!-- #INCLUDE VIRTUAL="/layouter/7/default.asp" -->
<%
End If

Rs.Close : Set Rs=Nothing
Connect.Close : Set Connect=Nothing
%>

Tack på förhand :)

Medlem sedan juni 200032 967 inlägg
#2

I det här fallet passar det nog bättre att använda Server.Execute.

Select Case Rs("layout")
   Case "1" :  Server.Execute "/layouter/1/default.asp"
   Case "2" :  Server.Execute "/layouter/2/default.asp"
   Case "3" :  Server.Execute "/layouter/3/default.asp"
   Case "4" :  Server.Execute "/layouter/4/default.asp"
   Case "5" :  Server.Execute "/layouter/5/default.asp"
   Case "6" :  Server.Execute "/layouter/6/default.asp"
   Case "7" :  Server.Execute "/layouter/7/default.asp"
End Select

Mvh

Medlem sedan jan. 20032 285 inlägg
#3

@nders skrev:

I det här fallet passar det nog bättre att använda Server.Execute.

Select Case Rs("layout")
   Case "1" :  Server.Execute "/layouter/1/default.asp"
   Case "2" :  Server.Execute "/layouter/2/default.asp"
   Case "3" :  Server.Execute "/layouter/3/default.asp"
   Case "4" :  Server.Execute "/layouter/4/default.asp"
   Case "5" :  Server.Execute "/layouter/5/default.asp"
   Case "6" :  Server.Execute "/layouter/6/default.asp"
   Case "7" :  Server.Execute "/layouter/7/default.asp"
End Select

Mvh

Om man ska använda Server.Execute kan man ju lite gärna göra såhär?

Server.Execute("/layouter/" & Rs("layout") & "/default.asp")
Medlem sedan juni 200032 967 inlägg
#4

Jepp. :)

Om det är precis så det ser ut så är det helt klart att föredra.

Mvh

Medlem sedan nov. 20031 018 inlägg
#5

Är

Case "2" :  Server.Execute "/layouter/2/default.asp"

Bättre och skonsammare mot servern än:

<!-- #INCLUDE VIRTUAL="/layouter/7/default.asp" -->

Kanske det är för detta som sidan bara kraschar ihop lite då och då?

Medlem sedan juni 200032 967 inlägg
#6

Använder du ssi-include så inkluderas alla sidor, oberoende av vilken layout som är vald, och sedan appliceras if-satserna runt. Så med server.execute kör du endast den layoutfil som är den önskade.

mvh

Medlem sedan apr. 20022 743 inlägg
#7

Som du har nu så laddas alla sidor men endast en visas, med server.execute så laddas endast den den som ska visas, så ja det är skonsammare.

/ Damn, alltid 2:a ;)

398 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
269 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)