Avatar billede garant11 Nybegynder
01. september 2012 - 18:28 Der er 8 kommentarer og
1 løsning

Include file inde i ASP delimiter

Hej.

Jeg fandt lige ud af Server.Execute() idag, og det fik mig til at tænke på om det faktisk er muligt at inkluder filer indenfor ASP delimiterne (<% %>) uden at dataen bliver gemt i et local scope som de gør i Server.Execute?
Jeg kunne jo bare bruge <!--#include file="fil.asp"--> MEN, så skal man jo lukke sine ASP delimitere og det har irriteret i lang tid nu at jeg hele tiden skal lukke dem bare for inkluder en fil som kun ASP kode.
Avatar billede claes57 Ekspert
01. september 2012 - 20:10 #1
den må du lige forklare en gang til.
Avatar billede garant11 Nybegynder
01. september 2012 - 21:00 #2
Hm ved ikke hvordan jeg ellers skal forklare det men her er et lille eksempel på hvad det er jeg prøver på.

main.asp:
<%
option explicit
dim sql, oRS, username

username = Request.Cookies("username")

' er der en måde jeg kan inkluder connection.asp uden at lukke med %>
<!--#include file="connection.asp"-->

sql = "SELECT * FROM users WHERE username = "' & username & "'"
Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.open sql, conn, 3, 3
%>



connection.asp:
<%
Dim Connection, conn

Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open connection
%>
Avatar billede erikjacobsen Ekspert
01. september 2012 - 21:39 #3
Nej.

Men nu er "klassisk ASP" - eller "gammeldags ASP" - jo også noget bedaget. Det var sikkert fint for 15 år siden, men der er sket meget siden. Hvad med at prøve noget nutidigt, med en fremtid?
Avatar billede garant11 Nybegynder
01. september 2012 - 21:49 #4
Skriver også i PHP men nu er det her et ASP projekt. Hvis du prøvede og lægge mærke til hvor mange både store og små firma'er som stadig bruger ASP, vil du forstå hvorfor man ikke bare lige kan skifte til noget nyt.
Avatar billede garant11 Nybegynder
01. september 2012 - 21:51 #5
Lukker.
Avatar billede claes57 Ekspert
01. september 2012 - 22:09 #6
men server side include er ikke altid slået til - så det er typisk bare en indstilling, der skal rettes.
Avatar billede lclemens Nybegynder
02. september 2012 - 17:24 #7
#6

SSI er lidt noget andet. ASP's include skal ikke aktiveres
Avatar billede bobbedude Nybegynder
18. september 2012 - 11:29 #8
kan du ikke bare bruge server.execute ??
Avatar billede softspot Forsker
19. september 2012 - 13:18 #9
Du kan IKKE bruge Server.Execute til at opnå det du viser i #2, fordi server.execute kører i et separat globalt scope (der er altså ikke adgang til globale variable på tværs af disse scopes).

Server.Execute er fin til at inkludere hele, isolerede, features på en side, men altså ikke til at dele globale variable.

Du kan lave components, der er klasser, som instantieres vha. f.eks. Server.CreateObject("MyComponent.ClassName"), men som erik er inde på, vil det nok være spildte kræfter, da teknologien er "lidt" forældet :-)

Jeg er bange for, at den eneste reelle metode er includes, desværre (for dig)...
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