Avatar billede purup Nybegynder
12. januar 2007 - 01:37 Der er 16 kommentarer og
2 løsninger

variabler fra URL ?

Hej

Jeg ved absolut intet om asp, og nu har jeg brug for en funktionalitet jeg kender fra php (det har jeg brugt en smule):

<a href="?page1">Page 1</a><a href="?page2">Page 2</a>
<?php if (!isset($page1)) {?php include 'page1.inc';} ?>
<?php if (!isset($page2)) {?php include 'page2.inc';} ?>

Pointen er, at jeg kan have layoutet i én html.
Hvordan ser det ud i asp ?
(..og foresten, hvordan har søgemaskiner det med det?)
Avatar billede madeindk Nybegynder
12. januar 2007 - 01:50 #1
Er det sådan en her du mener?

<%
If Request.QueryString("page") = "1" Then
  Response.Write("Side 1")
ElseIf Request.QueryString("page") = "2" Then
  Response.Write("Side 2")
End IF
%>
Avatar billede madeindk Nybegynder
12. januar 2007 - 01:53 #2
Og så skal dine link se sådan her ud fx.:
<a href="?page=1">Side 1</a> - <a href="?page=2">Side 2</a>
Avatar billede purup Nybegynder
12. januar 2007 - 02:00 #3
Jeps - eller i hvert fald noget ligende.

Men jeg vil gerne have inkluderer filen f.eks home.inc og ikke bare skirver "home"

Og så ville gerne have en "pæn" url - det betyder enkel. Min php version ser url'en sådan ud:
/index.html?home eller /index.html?contact
i din asp:
/index.html?page=home eller /index.html?page=contact

I php checkker jeg altså ikke hvad page er lig med, men bare om home, contact, ... er sat ?
Avatar billede purup Nybegynder
12. januar 2007 - 02:02 #4
Mit eksembel burde have set sådan ud:

<a href="?home">Home</a><a href="?contact">Contact</a>
<?php if (!isset($home)) {?php include 'home.inc';} ?>
<?php if (!isset($contact)) {?php include 'contact.inc';} ?>
Avatar billede madeindk Nybegynder
12. januar 2007 - 02:05 #5
Det kan man ikke baaaare i ASP - det er lidt specielt. Jeg er faktisk ikke selv helt klar over hvordan man gør det, men jeg ved det ikke er så nemt at lave som i PHP - der er mange ting du skal vende dig til hvis du skifter fra PHP til ASP :-) Men det er god stil.

<% If Request.QueryString("page") = "home" Then %>
<!--#include file="filnavn.htm"-->
<% ElseIf Request.QueryString("page") = "contact" Then %>
<!--#include file="filnavn.htm"-->
<% End If %>
Avatar billede purup Nybegynder
12. januar 2007 - 02:58 #6
Hvad med:

% If Request.QueryString = "home" Then %>
<!--#include file="home.inc"-->
<% ElseIf Request.QueryString = "contact" Then %>
<!--#include file="contact.inc"-->
<% End If %>
Avatar billede purup Nybegynder
12. januar 2007 - 03:01 #7
Det virker fint så vidt jeg kan se.
Men er det "lovligt" kode ?
..og er det "lovligt" kode at ligesom at bryde taggene:

...Then %><!-- #inclu ... --><%ElseIf...
?
Avatar billede madeindk Nybegynder
12. januar 2007 - 07:31 #8
Ja, det er 100% lovlig kode - det er sådan man gør :-)
Avatar billede purup Nybegynder
12. januar 2007 - 13:25 #9
Supert!
(Nu går jeg ud fra, at det er ...Then %><!-- #inclu ... --><%ElseIf... der er 100% lovligt.)
Hvad så med:
<% If Request.QueryString = "home" ...
Er det også lovligt ?
Avatar billede madeindk Nybegynder
12. januar 2007 - 13:49 #10
Nej, det kan du ikke. Din QueryString hentes med Request.QueryString("NAVNPÅQUERYSTRING") = "bombom" ;-)
Avatar billede tsunami Nybegynder
12. januar 2007 - 15:27 #11
hmmm... nogen grund til ikke at bruger?


Server.Execute("header.asp")

Så behøver serveren ikke at indlæse og parse alle de dokumenter som man inkludere...
Og serveren slipper også for at skifte tilstand imellem ASP parser og HTML parseren... eller sådan noget... håber nogen forstod det for det lød vist lidt mærkeligt *GG*... Der er enda mulighed for at includere variabler i disse stier som Server.Execute udføre

<%
If Request.QueryString("page") = "home" Then
Server.Execute("filnavn.htm")
ElseIf Request.QueryString("page") = "contact" Then
Server.Execute("filnavn.htm")
End If
%>
Avatar billede purup Nybegynder
13. januar 2007 - 16:27 #12
Tak for hjælpen.
Vil I ikke smide et svar - så kan i dele pointene
Avatar billede purup Nybegynder
13. januar 2007 - 16:27 #13
..og

If Request.QueryString = "home"

fungerer helt fint!
Avatar billede madeindk Nybegynder
14. januar 2007 - 15:15 #14
Svar.
Avatar billede madeindk Nybegynder
15. januar 2007 - 11:25 #15
Hov - svar
Avatar billede tsunami Nybegynder
15. januar 2007 - 12:53 #16
Ok... :)

Svar ;)
Avatar billede purup Nybegynder
15. januar 2007 - 14:38 #17
...og tak for hjælpen
Avatar billede tsunami Nybegynder
15. januar 2007 - 15:19 #18
Selv tak :)
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