31. januar 2002 - 09:20Der er
16 kommentarer og 1 løsning
Include file - I stedet for frames
Hej
Jeg sidder og skal lave et større projekt, hvor jeg egentlig helst vil slippe for at lave frames. Men lige nu og her føler jeg, at jeg er nødt til at lave frames.
Det er sådan, at jeg har en forside med en menu der skal gå igen på omk. 300 undersider. Den menu har jeg så lavet menu_01.asp og include't filen de steder hvor menuen skal vises.
Men menuen er en falldown-menu, sådan en hvor man klikker på en overmenupunkt, så kommer der undermenupunkterfrem. Og i mit tilfælde, så sker der selvfølgelig det, at menuen loades på ny, og er klappet sammen igen. Men jeg vil jo gerne bibeholde den i udfoldet tilstand fra forrige klik, så brugeren kan se på menuen, hvor han/hun er.
Har hørt det er noget med at gemme informationer i en cookie. Men hvordan?
Andre forslag?
Måske det ville være nemmeste at lave frames :-) Men det er ikke altid man skal gøre det på den nemmeste måde.
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
I din menu_01.asp skal du gemme et nummer for undermenuen i en Session-variable således at menu_01.asp kan huske det til næste gang den kaldes.
if IsEmpty(Session.QueryString("menupunkt")) then Session("menupunkt") = Aktuellemenupunkt else Session("menupunkt") = Session.QueryString("menupunkt") end if
Menupunkt1 -Undermenupunkt1 til Menupunkt1 -Undermenupunkt2 til Menupunkt1 Menupunkt2 -Undermenupunkt1 til Menupunkt2 -Undermenupunkt2 til Menupunkt2 Menupunkt3 -Undermenupunkt1 til Menupunkt3 -Undermenupunkt2 til Menupunkt3
ville jeg lave det hele i ASP:
<a href="filnavn.asp?menupunkt=1">Menupunkt1</a><br> <% If Request.Querystring("menupunkt") = 1 Then %> <a href="filnavn.asp?menupunkt=1">-Undermenupunkt1 til Menupunkt1</a><br> <a href="filnavn.asp?menupunkt=1">-Undermenupunkt2 til Menupunkt1</a><br> <% End If %> <a href="filnavn.asp?menupunkt=2">Menupunkt2</a><br> <% If Request.Querystring("menupunkt") = 2 Then %> <a href="filnavn.asp?menupunkt=2">-Undermenupunkt1 til Menupunkt2</a><br> <a href="filnavn.asp?menupunkt=2">-Undermenupunkt2 til Menupunkt2</a><br> <% End If %> <a href="filnavn.asp?menupunkt=3">Menupunkt3</a><br> <% If Request.Querystring("menupunkt") = 3 Then %> <a href="filnavn.asp?menupunkt=3">-Undermenupunkt1 til Menupunkt3</a><br> <a href="filnavn.asp?menupunkt=3">-Undermenupunkt2 til Menupunkt3</a><br> <% End If %>
og så droppe det javascript du har lavet (el. fundet) ... du kan selv sætte det ind i tabeller hvis du vil have det ...
Den virker fint (bare ikke i netscape - den folder alle punkter ud.) - nu skal du bare have den til at huske punktet og det kan ikke lade sig gøre da funktionaliteten er lavet i javascript som udføres på klienten. Den eneste kommunikation mellem klient-javascript og Server-ASP er input-felter og det er nok ikke muligt at ændre menupunkterne til input-felter.
...Fordi jeg kan ikke få det til at virke på nogen måde. Som sagt så er jeg dum til det her. Giver gerne 200 points til dig, hvis du kan levere en løsning der funker.
Kort fortalt. Så skal den kunne huske fra forige side, hvad der blev klikket på, og lade den del af menuen være åben, så brugeren kan se på menuen hvor vedkommende er.
Hvis du skal have en menu der folder sig ud (og skal huske det igen) i javascript eller JavaApplet så skal den laves i frames.
Ellers skal den laves i eks. ASP - så kan den huske det igen - så vil skærmen opdatere hvergang du bare trykker på et menupunkt - det gælder også hovedpunkter.
Og vi har lige udskiftet all sub med umenu da sub er en allerede eksisterende statement. Og derfor ikke så god at definerer :o)
Synes godt om
Ny brugerNybegynder
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.