mboost-dp1

PHP --> ASP


Gå til bund
Gravatar #1 - Tang
28. apr. 2007 21:36
Jeg er ved at lave en hjemmeside for en bekendt og er stødt ind i nogle problemer. Jeg er vandt til at kode i PHP, og jeg har derfor brug for lidt hjælp til noget kode.
Jeg bruger ofte det, at lave en slags template og så inkludere sidens indhold i den vha. følgende kode: (med modifikationer!)

switch($_GET["page"])
{
case "": include "forside.txt"; break;
case "om": include "om.txt"; break;
case "links": include "links.txt"; break;
default: include "error.txt";
}

Er det muligt at lave noget lignende i ASP?
---
Det skal lige nævnes at serveren som siden skal ligge på ikke kører ASP.NET, men jeg regner med at det godt kan lade sig gøre uden.

På forhånd tak.
Gravatar #2 - arne_v
28. apr. 2007 21:58
Du kan ihvertfald lave din egen include som læser filen med FSO
og writer den ud på response.
Gravatar #3 - Kisbye
28. apr. 2007 23:39
#1
Det kan du teoritisk godt, men klassisk asp virker sådan at alle inkludes bliver indsat før scriptet køres.
Det vil sige at du ikke kan inkludere dynamisk, og den løsning som du fremsætter er derfor ikke optimal.

Den løsning som arne kommer med i #2 ser umiddelbart noget mere fornuftig ud.
Gravatar #4 - fidomuh
29. apr. 2007 09:33
#1

>.<

Just do it in PHP ? :)

ioevrigt, .txt ? Hvorfor hedder dine sider .txt ? :D

Et godt raad btw:
Opstil din kode mere overskueligt ..

switch($_GET["page"])
{
case "":
include "forside.txt";
break;

case "om":
include "om.txt";
break;

case "links":
include "links.txt";
break;

default:
include "error.txt";
}

Ioevrigt en besynderlig maade at goere det paa.. Hvorfor er default ikke din forside ?

:)
Gravatar #5 - vinten
1. maj 2007 12:11
Du kan sagtens lave det samme i ASP:

Select Case Request.QueryString("page")
Case "om"
%><!-- #include file="om.txt" --><%
Case "links"
%><!-- #include file="links.txt" --><%
Case Else
%><!-- #include file="filnavn.txt" --><%
End Select

Ovenstående gør, at når variablen page er lig enten om, links eller blank vil den inkludere én af filerne...

God fornøjelse .....
Gravatar #6 - Kisbye
1. maj 2007 13:25
#5
Ja, det vil da virke, men er det optimalt?
Som sagt kan man ikke inkludere dynamisk.

IIS vil under alle omstændigheder inkludere alle dine include-filer før scriptet køres.
Hvilket vil betyde spild af ressourcer.

Det er jo at samme grund følgende heller ikke vil virke:

<!-- #include file="<%= Request.Querystring("page") %>" -->


Som #2 skriver vil det kunne lade sig gøre med fso, her er et eksempel --> http://www.asp101.com/articles/michael/dynamicincl...

Dog vil jeg anbefale at bruge ASP.NET i stedet, da klassisk ASP er på vej ud.
ASP.NET er også langt bedre og et dejligt at arbejde med.
Frameworket i sig selv er gratis, og du kan downloade en gratis version af Visual Studio Express her-->
http://msdn.microsoft.com/vstudio/express/
Gravatar #7 - vinten
2. maj 2007 06:59
#6

Ja, det virker fuldt ud optimalt.

IIS vil ikke inkludere alle filer - det har du ikke ret i!

/ Jan
Gravatar #8 - Tang
3. maj 2007 10:47
#5, #6, #7

Tak for svarene.
Det tror jeg at jeg prøver.
Gravatar #9 - Acro
16. maj 2007 13:10
#1 Trident:
Du kan bruge Server.Execute og Server.Transfer til at fortsætte eksekvering i en anden fil. Det kræver selvsagt, at der ikke er tale om tekstfiler, men det er en detalje.

Hvad vil du dog bruge det til? Det er ganske tåbeligt at tro, at man skal lade alting foregå i sin indeksfil og lade hver side indlæse herunder. Hvorfor ikke benytte en ordentlig struktur, der både gavner brugere, søgemaskiner og strukturelt?

F.eks.:
http://www.example.com/
http://www.example.com/om.asp
http://www.example.com/links.asp

Endnu bedre vil det være at bruge ISAPI Rewrite eller lignende til at fjerne endelser, der heller ikke bør eksponeres udadtil. W3C er helt enige.

I øvrigt er det mærkeligt at skifte til ASP. ASP.NET har været ude i adskillige år, og det er fuldkommen tåbeligt at begynde at udvikle i en forældet teknologi.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login