Avatar billede Slettet bruger
24. januar 2004 - 19:50 Der er 11 kommentarer og
1 løsning

Frames og ASP

Hejsa,

Kort fortalt, jeg har en side der gør brug af frames (6 frames, hvoraf 3 af dem har egentligt indhold).
Jeg vil gerne have lavet det sådan at man ud fra querystring i selve adresselinien (har fundet en løsning på dette), kan fremvise forskelligt indhold i de to andre frames.

Jeg har en tråd kørende på html.dk, som måske kan give et praj om hvor i verden jeg står med hensyn til en løsning.

Forslag modtages med kyshånd!
Avatar billede Slettet bruger
24. januar 2004 - 19:51 #1
Avatar billede websam Nybegynder
24. januar 2004 - 22:17 #2
Jeg løste dette for noget tid siden ved at sætte ideen som en session på den måde har du hele tiden din id til rådighed dog skal du huske at sætte den til ingenting når du er færdig med den :

Session("Id") = Request.QueryString("Id") 'Når du skal bruge den

Session("Id") = "" 'Når du er færdig med at bruge den

/Websam
Avatar billede websam Nybegynder
24. januar 2004 - 22:18 #3
Men jeg vil da anbefale dig at droppe dine frames og så anvende tables eller css til placering af dit side indhold det gør livet meget lettere for dig selv :o)

/Websam
Avatar billede Slettet bruger
24. januar 2004 - 22:42 #4
Hejsa. Tak for svaret, men som jeg har skrevet i mit spørgsmål er jeg ude efter at man kalde url'en fra en given frame (ikke siden i den givne frames url, men url'en for hele siden).
Hvis dette ikke er muligt - og det begynder jeg snart at tvivle på - så er det fint, men jeg har bevidst undladt session variable osv., da jeg vil have så lidt belastning på serveren som overhovedet muligt.

Er der ikke nogen der ved om det er muligt?
Avatar billede websam Nybegynder
24. januar 2004 - 22:53 #5
Jeg er med på at det url'en fra adresse linien du vil bruge og ikke for siden i din frame :o)

Jeg kigger lige efter det jeg lavede dengang så hæng lige på :o)

/Websam
Avatar billede websam Nybegynder
24. januar 2004 - 23:11 #6
Ok hvis dit frameset f.eks ser således ud :

<frameset rows="64,*">
  <frame name="banner" scrolling="no" noresize target="indhold" src="side.asp">
  <frameset cols="150,*">
    <frame name="indhold" target="hovedramme" src="side.asp">
    <frame name="hovedramme" src="side.asp">
  </frameset>
</frameset>

Så kan du ændre det til dette og på den måde trække dine id'er med :

<frameset rows="64,*">
  <frame name="banner" scrolling="no" noresize target="indhold" src="side.asp?Id=<%= Request.QueryString("Id")%>">
  <frameset cols="150,*">
    <frame name="indhold" target="hovedramme" src="side.asp?Id=<%= Request.QueryString("Id")%>">
    <frame name="hovedramme" src="side.asp?Id=<%= Request.QueryString("Id")%>">
  </frameset>
</frameset>

/Websam
Avatar billede Slettet bruger
24. januar 2004 - 23:58 #7
Hejsa,

Jeg har sjovt nok selv lige siddet og lavet det samme :-)

<%
If Request.Querystring("Side") <> "" Then
    strStartside = Request.Querystring("Side")
Else
    strStartside = "startsiden.asp"
End If
%>

<!-- frames -->
<frameset  rows="*,600,*" framespacing="0" frameborder="0" border="0">
    <frame name="res_top" src="includes/rest_sides.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
    <frameset  cols="*,700,*" framespacing="0">
        <frame name="res_left" src="includes/rest_sides.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
        <frameset  rows="55,*,20" framespacing="0">
            <frame name="top" src="includes/top.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
            <frameset  cols="150,400,150" framespacing="0">
                <frame name="menu" src="includes/menu.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
                <frame name="main" src="<% = strStartside %>" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" noresize>
                <frame name="right" src="includes/right.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
            </frameset>
            <frame name="bund" src="includes/bund.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
        </frameset>
        <frame name="res_right" src="includes/rest_sides.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
    </frameset>
    <frame name="res_bottom" src="includes/rest_sides.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
</frameset>

Det sjove er, at jeg ikke har tænkt så langt som til at jeg selvfølgelig også kan vise en side i "right" ud fra Querystring (der er åbenbart grænser for hvor langt man kan køre på literen på kaffe), så dit eksempel her har faktisk reddet mig :-)

Jeg havde ellers fundet mig nogenlunde tilfreds med en randomize funktion i højre side, tsk tsk...

Men tusind tak for dit input.
Avatar billede websam Nybegynder
25. januar 2004 - 07:22 #8
Der kan du bare se :o) Men jeg vil nu stadig benytte session men det er jo smag og behag :o)

/websam
Avatar billede Slettet bruger
25. januar 2004 - 16:13 #9
Hej websam,

Jeg ville egentlig gerne acceptere dit svar, men der sker tilsyneladende intet når jeg trykker accepter??? Ser den hver gang jeg svarer...

Jeg er ikke den største haj ud i ASP og serverteknologier, men har forstået det påp den måde, at en session tager en del af hukommelsen.
Hvis jeg har x-zntal brugere på en gang (og x må da gerne være mange, hehe), ja så tages der tilsvarende meget hukommelse fra serveren.
Den løsning jeg har lavet nu er måske ikke optimal - det tager nogle gange et par sekunder at loade høje framae og bunden og menuen kan til tider hænge en smule, men trods alt går siden ikke hen og bliver en decideret belastning for serveren.

Det skal lige siges at der skal køre en del andre sider på den samme server, så det at holde ressorceforbruget på et minimum er for mig meget vigtigt.

Hører selvfølgelig som altid gerne fra andre, der måske har en anden mening/andre erfaringer.
Avatar billede websam Nybegynder
25. januar 2004 - 16:31 #10
Jeg kan fortælle dig at vi pt. har en side med mere end 500 online besøgende på en gang og jeg bruger session med dette tryk på serveren bruger vi ca. 30-40 % af hukommelsen så vil da ikke mene det skulle have nogen betydning det afhænger jo oxo af hvor stor din server er :o)

Og husk på at hvis du sætter din session til "" når siden er loadet betyder det synderligt meget.

Hvad angår point så skulle der ikke være noget i vejen jeg har selv lige svaret på 2 idag og det gik fint !?!

/Websam
Avatar billede Slettet bruger
25. januar 2004 - 16:56 #11
Har du fået point nu?
Avatar billede Slettet bruger
25. januar 2004 - 16:58 #12
Hehe, nå sådan :-)
Nu fik jeg vidst tingene til at fungere. Hmmm, pinligt!
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