Avatar billede nanna31 Praktikant
29. december 2006 - 13:41 Der er 13 kommentarer og
1 løsning

Kør en asp fra en asp

I bunden af a.asp vil jeg gerne starte b.asp - hvordan gør jeg?
Avatar billede hnteknik Novice
29. december 2006 - 13:44 #1
redirect
Avatar billede hnteknik Novice
29. december 2006 - 13:44 #2
altså response. redirect ("a.asp")
Avatar billede inglenook Praktikant
29. december 2006 - 13:44 #3
<script language="VBScript">
    location.href="b.asp"
</script>
Avatar billede softspot Forsker
29. december 2006 - 13:44 #4
Server.Execute "b.asp"
Avatar billede softspot Forsker
29. december 2006 - 13:46 #5
Jeg antager at du gerne vil have både resultatet af a.asp og b.asp sendt til klienten, så derfor er redirect (hvadenten du benytter server eller klientversionen som vist overnfor) ikke en brugbar løsning...
Avatar billede inglenook Praktikant
29. december 2006 - 13:47 #6
ups, ignorer min kommentar...
Avatar billede punnishment Nybegynder
29. december 2006 - 13:52 #7
Hvis filen er i samme mappe:
<!-- #include file="filnavn.asp" -->
Hvis filen er i en anden mappe, skal du angive dens placering fra roden af websereveren:
<!-- #include virtual="/minside/include/scripts.asp" -->
Avatar billede softspot Forsker
29. december 2006 - 14:00 #8
Ja, include er en anden måde at få indholdet af en anden asp-fils (eller enhver anden fil for den sags skyld) indhold ind i din side. Include er dog en statisk løsning, hvilket betyder at filens indhold altid vil blive en del af den side du inkluderer i, hvorimod Server.Execute (eller Server.Transfer alt efter hvad der skal ske efterfølgende i din side) er en dynamisk løsning, dvs. den kan udføres betinget af en tilstand i din applikation...
Avatar billede punnishment Nybegynder
29. december 2006 - 14:16 #9
det kan man nu også med include:
if a = b then %><!-- #include file="filnavn.asp" --><%
elseif a = c then%><!-- #include file="filnavn21.asp" --><%
end if

Ulempen her er at du gør din side en smule langsommere (men ikke mærkbart!) og fordelen ved at bruge include fremfor server.execute er at du kan overføre querystrings, variabler, sessions, åbne connections....ALT!
Avatar billede softspot Forsker
29. december 2006 - 14:30 #10
Ja, det er en "ulempe" ved server.execute/server.transfer at man ikke kan se globale variable (men session, application, server, request, response og alle de andre ASP-objekter kan man stadig se med execute og transfer).

I øvrigt sagde jeg heller ikke at det ikke kunne lade sig gøre med include, bare at man med din løsning altid får koden fra det man inkluderer med i den side som serveren skal forholde sig til (i dit eksempel vil man altså både have koden fra filnavn.asp og filnavn21.asp i den side der inkluderer de to).

Jeg vil ikke afskrive include, men jeg vil anbefale at man bruger server.execute hvor man kan, dvs. i tilfælde hvor det der udføres med server.execute, ikke har behov for at vide noget om den side der udfører, eller ikke leverer noget som den side der udfører skal have kendskab til.

Include har tendens til at resultere i uoverskuelig (spagetti-)kode, fordi mange plastrer kode og funktioner ind i disse filer uden tanke for, hvor og hvordan includefilen skal benyttes. Det giver samtidig en masse kode rundt omkring, som bare er overflødig og sinker serveren i dens arbejde...
Avatar billede nanna31 Praktikant
29. december 2006 - 14:30 #11
Thanks alot
Avatar billede nanna31 Praktikant
29. december 2006 - 14:31 #12
Sorry softspot, jeg nåede ikke se din sidste kommentar.
Avatar billede softspot Forsker
29. december 2006 - 14:51 #13
Tænk ikke over det - bare du fik noget ud af besvarelsen :)
Avatar billede nanna31 Praktikant
29. december 2006 - 15:17 #14
Det gjorde jeg ihvert fald, 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