Avatar billede tras Juniormester
06. september 2005 - 08:37 Der er 38 kommentarer og
1 løsning

Menu i ASP

Hej jeg vil gerne havde noget hjælp med at lave en menu til min asp side.

Jeg vil havde at når man trykker på eks news reagere denne kode <!--#include file="home.asp"--> så home skifter til news og news siden kommer frank istedet for home? Men hvordan gør jeg det. Må indrømme jeg er noob til asp men skolen krever jeg kan lave det, og jeg kan kun finde ud af php.
Avatar billede tras Juniormester
06. september 2005 - 08:57 #1
Kan man bruge noget alla <!--#include file=Request.Querystring"("navn")"-->
Avatar billede keysersoze Ekspert
06. september 2005 - 09:10 #2
du kan ikke kode dynamiske include-filer så enten skal du bygge det op over en if eller case statement;

<%
If Request.Querystring"("navn") = "news" Then
%>
<!--#include file="news.asp"-->
<%
Else
%>
<!--#include file="home.asp"-->
<%
End If
%>

Eller også skal du kigge på Server.Execute;

<%
Server.Execute(Request.Querystring"("navn") & ".asp")
%>
Avatar billede tras Juniormester
06. september 2005 - 09:31 #3
Hay jeg får beskeden

Error Type:
Sun ONE ASP VBScript compilation (0x800A0408)
Unsupported character '['
/filmdatabase/index.asp, line 74, column 24

Men jeg er blevet rådet til at bruge
<%
                                                            if Request.Querysstring["side"] = 1 then
                                                        %>
                                                        <!--#include file="home.asp"-->
                                                        <%
                                                            elseif Request.Querysstring["side"] = 2 then
                                                        %>
                                                        <!--#include file="nyheder.asp"-->
                                                        <%
                                                            elseif Request.Querysstring["side"] = 3 then
                                                        %>
                                                        <!--#include file="manage.asp"-->
                                                        <%end if%>
Avatar billede tras Juniormester
06. september 2005 - 09:33 #4
Og endre jeg [] til () så får jeg denne besked
Error Type:
Sun ONE ASP VBScript runtime (0x800A01B6)
Object does not support this property or method: 'Querysstring'
/filmdatabase/index.asp, line 73
Avatar billede busschou Praktikant
06. september 2005 - 09:36 #5
tras >> til din kommentar 06/09-2005 09:33:16 så er der kun eet s i querystring :o)

Jeg vil så anbefale at du benytter server.execute
_Alt_ der hedder noget med #include file vil nemlig blive inkluderet uanset hvor du havner i din if else sætning!
Dette skyldes at SSI eksekveres før asp på serveren :o)
Avatar billede tras Juniormester
06. september 2005 - 09:37 #6
kan du give et eks i server.execute?
Avatar billede busschou Praktikant
06. september 2005 - 09:38 #7
<%
If Request.Querystring"("navn") = "news" Then
  server.execute "news.asp"
Else
  server.execute "home.asp"
End If
%>
Avatar billede busschou Praktikant
06. september 2005 - 09:40 #8
<%
if Request.Querystring("side") = 1 then
  server.execute "home.asp"
elseif Request.Querystring("side") = 2 then
  server.execute "nyheder.asp"
elseif Request.Querystring("side") = 3 then
  server.execute "manage.asp"
end if
%>
Avatar billede tras Juniormester
06. september 2005 - 09:41 #9
hvordan skal jeg så lave mine links?

<a href="/?home">Home</a>  ???

Jeg bruger

<%
Dim menu
menu = home
%>

Og så har vi den der hanter det du på siden

<%
                                                        If Request.Querystring("menu") = "home" Then
                                                            server.execute "home.asp"
                                                        Else
                                                            server.execute "nyheder.asp"
                                                        End If
                                                        %>
Avatar billede busschou Praktikant
06. september 2005 - 09:44 #10
når du har request.querystring("menu") = "home"
Så betyder det jo at du har kaldt din side med ?menu=home
altså
<a href="www.dinside.dk/dinfil.asp?menu=home">Home</a>
Avatar billede tras Juniormester
06. september 2005 - 09:48 #11
Det tror jeg ikke jeg fatter helt. Men jeg har lige prøvet at gemme <%
                                                        If Request.Querystring("menu") = "home" Then
                                                            server.execute "home.asp"
                                                        Else
                                                            server.execute "nyheder.asp"
                                                        End If
                                                        %>

Hvilket virker fint men, Jeg tror ikke min Dim virker for den går til news og som standard skulle den da være home da jeg satte den i toppen?!

Og hvordan skal men menu se ud for at den loader mine sider ind i
<%
                                                        If Request.Querystring("menu") = "home" Then
                                                            server.execute "home.asp"
                                                        Else
                                                            server.execute "nyheder.asp"
                                                        End If
                                                        %>
Avatar billede busschou Praktikant
06. september 2005 - 09:53 #12
Jeg prøver i langsom gengivelse :o)
----
denne herunder vil gå til din home side
www.blabla.dk/blabla.asp?menu=home
denne herunder vil gå til din nyheder side
www.blabla.dk/blabla.asp?menu=nyheder
osv osv
Ergo skal din sti i linket ende med et spørgsmålstegn, ordet menu, et lighedstegn og derefter navnet på den menu du ønsker vist
----
Når du henter din querystring så sammenligner du så med de tilfælde du har
----
// denne her går den i hvis du har klikket på ?menu=home
If Request.Querystring("menu") = "home" Then
  server.execute "home.asp"
// denne her går den i hvis du har klikket på ?menu=nyheder
ElseIF Request.Querystring("menu") = "nyheder"
  server.execute "nyheder.asp"
// denne her går den i hvis du ikke har klikket på noget eller hvis du har skrevet noget andet som den ikke kan finde
Else
  server.execute "home.asp"
End If
Avatar billede tras Juniormester
06. september 2005 - 09:53 #13
<%
dim menu
menu = home
%>

ser det ikke rigtig ud
Avatar billede busschou Praktikant
06. september 2005 - 09:55 #14
du har ikke behov for at lave en dim med mindre du skal benytte værdien et andet sted?
Så skulle du jo evt lave det sådan her
----
dim menu
menu = request.querystring("menu")
If menu = "home" Then
  server.execute "home.asp"
ElseIF menu = "nyheder"
  server.execute "nyheder.asp"
Else
  server.execute "home.asp"
End If
Avatar billede tras Juniormester
06. september 2005 - 09:55 #15
<a href="/?home">Home</a> Virker ikke
Avatar billede tras Juniormester
06. september 2005 - 09:56 #16
Den opner siden i et nyt vindue og ikke på samme side?!
Avatar billede busschou Praktikant
06. september 2005 - 10:02 #17
det er jo normalt html kodning, tag evt og kig på w3schools.com der er mange gode tutorials til såvel html som asp
mere præcis her
http://www.w3schools.com/tags/tag_a.asp
kan du se at du skal benytte "target" til at angive om der åbnes i nyt vindue eller frame osv
Avatar billede busschou Praktikant
06. september 2005 - 10:03 #18
<a href="/?home" target="_self">Home</a>
burde åbne det i sig selv
Avatar billede busschou Praktikant
06. september 2005 - 10:03 #19
hvis ikke det gør det, har du så evt et link til siden?
Avatar billede tras Juniormester
06. september 2005 - 10:05 #20
Ja men det er jo ikke hele siden den skal skifte eks tag min php side www.lan-host.com der kan du se hvad jeg vil havde den tilnår jeg trykker på menuen?!
Avatar billede busschou Praktikant
06. september 2005 - 10:08 #21
jo det er jo netop det du gør på din php side ;o)
Dine links siger
----
http://www.gamersloot.dk/lan-host/?p=news
http://www.gamersloot.dk/lan-host/?p=lans
http://www.gamersloot.dk/lan-host/?p=members
http://www.gamersloot.dk/lan-host/?p=links
http://www.gamersloot.dk/lan-host/?p=manage
----
De åbner netop hele siden een gang til, hvor du så tilsvarende i php henter een tabel ind hvis p=news og en anden hvis p=lans
Det samme kan du gøre i asp, fuldstændig magen til på nær lidt syntaks
Det eneste jeg personligt foretrækker er at have selve sidenavnet med altså
http://www.gamersloot.dk/lan-host/siden.php?p=manage
Avatar billede tras Juniormester
06. september 2005 - 10:12 #22
http://www.gamersloot.dk/filmdatabase/ Jeg synts ikke jeg kan få det til at virke!!! Her kan de se den går tilbage og ud af mappen og bruger _self så hele siden skifter og det skal den jo ikke
Avatar billede busschou Praktikant
06. september 2005 - 10:12 #23
hvis ikke du ønsker den skal hive hele siden ind igen, så skal du lave din side i frames og derved have een frame med menuen og een frame med indholdet, så vil den ikke hente menuen hver gang, men som du har gjort det (hvilket er normalt nok) så henter den altså hele siden een gang til hver gang man klikker på et link :O)
Avatar billede busschou Praktikant
06. september 2005 - 10:14 #24
Det er jo fordi du på siden
http://www.gamersloot.dk/filmdatabase/
Har et link til
http://www.gamersloot.dk/?home
Det er jo klart at den så hopper ud af mappen
Hvis ikke du ønsker dette så skal du selvfølgelig lave linket i den rigtige mappe, altså
http://www.gamersloot.dk/filmdatabase/?home
Avatar billede tras Juniormester
06. september 2005 - 10:14 #25
Ubs :o( nu kan jeg se hvad du mener nej hvor har jeg været dum. Sorry jeg kan se hvad du mener nu. Tak :o) Nu virker det
Avatar billede tras Juniormester
06. september 2005 - 10:15 #26
det hjælp lidt da jeg kunne se mig ud af det eks <a href="?menu=home">Home</a>
Avatar billede tras Juniormester
06. september 2005 - 10:16 #27
Arrr forkert jeg kan oprette et nyt rum hvor du kan få de 200 kom til at give dem til keyw...
Avatar billede busschou Praktikant
06. september 2005 - 10:16 #28
hehe ok, det er muligt at php reagerer anderledes på href=? end asp, altså at php måske blot går ned i folderen hvor asp går ned i roden....er ikke sikker, derfor jeg altid selv angiver hele stien

Men godt det virker :o)
Avatar billede busschou Praktikant
06. september 2005 - 10:16 #29
oki :o)
Avatar billede busschou Praktikant
06. september 2005 - 10:17 #30
Det kan man jo så diskutere om det burde være keysersoze som gjorde ;o)
Avatar billede tras Juniormester
06. september 2005 - 10:18 #31
Tak igen. Nu er jeg jo ikke lige Champ i det Jeg har brugt de sidste 2 år på Php og når OTS krever vi skal arbejde med asp så Glor men en extra gang for der er ikke nogle logik på samme måde som med php
Avatar billede tras Juniormester
06. september 2005 - 10:18 #32
ja. :)
Avatar billede busschou Praktikant
06. september 2005 - 10:25 #33
ja der er stor forskel på asp og php, php minder nok mere om "rigtig" programering end asp omend det stadig er scripting
Det med syntaksen er der intet nyt i, det vænner man sig vist aldrig til. Når man sidder med 5-10 forskellige programmerings sprog, så smutter der mange syntaks fejl ind hehe

Anyway, får se om keysersoze vågner op senere igen :oD
Avatar billede keysersoze Ekspert
06. september 2005 - 10:28 #34
var lige away - men det har godt nok været sjovt at følge de fejl der er opstået undervejs for mange af fejlene ser godt nok mystiske ud :)

anyway - hvad blev status? eller rettere hvad skulle status være mht point?
Avatar billede busschou Praktikant
06. september 2005 - 10:37 #35
jeg tror problemet blev løst :o)
Avatar billede busschou Praktikant
06. september 2005 - 22:49 #36
af kommentaren 06/09-2005 10:16:07 vil jeg tro jeg burde have lidt keysersoze :o/ snøft ;o)
Avatar billede keysersoze Ekspert
07. september 2005 - 09:05 #37
så tag da her tudefjæs ;op

http://www.eksperten.dk/spm/645985
Avatar billede busschou Praktikant
07. september 2005 - 09:36 #38
hader det ord, tudefjæs, det er nu mest princippet
Avatar billede keysersoze Ekspert
07. september 2005 - 10:57 #39
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