[asp] probleem met 'includes'

Pagina: 1
Acties:

  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
waarschijnlijk een redelijke basic vraag, maar ik heb veel gezocht en kan er niks over vinden.

Ik begin net met asp en nou wil ik een soort van kleine template pagina maken.

Ik heb een 'template' pagina gemaakt met de html opmaakt enz. met dit script in de body
ASP:
1
2
3
4
5
6
7
8
<% pagina=request.querystring("pagina")

if pagina="werkwijze" then%>
    <!-- #include file="werkwijzeinc.asp"-->

<%elseif pagina="team" then%>
    <!-- #include file="teaminc.asp"-->
end if%>
ik roep deze template.asp aan dmv. een aantal links uit een menu met de link template.asp?pagina=naamvandepagina, als ik dit nu aanroep werkt het niet, in de ...inc.asp files staan per link een andere tabel met daarin de gegevens om bepaalde gegevens uit de database te halen.

op een aantal asp pagina's vond ik wel templates waarmee je geen asp code kan includen, maar volgens mij moet het op deze manier wel kunnen, toch?

iemand die mij hierbij kan helpen?

bvd

[ Voor 8% gewijzigd door littledreamer op 29-08-2003 12:02 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik zou deze methode zo snel mogelijk proberen te vergeten en eens gaan kijken naar Server.Transfer / Server.Execute. Met deze wijze include je namelijk per definitie alle pagina's, waardoor je script nog steeds gruwelijk groot wordt.

Daarnaast volg ik je verhaal niet helemaal.. Kan je een simpel voorbeeldje geven, wat er gebeurd als ik ergens op klik?

[ Voor 22% gewijzigd door gorgi_19 op 29-08-2003 10:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Zet eerst eens <% option explicit %> onder je regel dat je aangeeft dat je VBscript als taal gebruikt, daarmee krijg je als er fouten zijn een beter foutmelding. De variabele pagina is niet gedeclareerd (DIM pagina) Daarnaast is het gebruik niet echt logisch van jouw template of ik begrijp je niet.

Je roept via een link hallo.asp op, daarin wordt het script, query etc verwerkt, onder aandiepagina staat include hallotemplate.asp die de waarde in die template plaatst. Op die manier hoef je voor de opmaak alleen maar te werken in hallotemplate.asp

Dit is overigens niet echt de mooiste methode om templates toe te passen...

  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
gorgi_19 schreef op 29 augustus 2003 @ 10:04:
Ik zou deze methode zo snel mogelijk proberen te vergeten en eens gaan kijken naar Server.Transfer / Server.Execute. Met deze wijze include je namelijk per definitie alle pagina's, waardoor je script nog steeds gruwelijk groot wordt.

Daarnaast volg ik je verhaal niet helemaal.. Kan je een simpel voorbeeldje geven, wat er gebeurd als ik ergens op klik?
Oke bedankt voor je reactie, ik zal hier zeker naar gaan kijken.
Alleen op deze website heb ik maar 4 of 5 van die includes pagina's en graag zou ik het werkend zien aangezien ik er al wat tijd in heb zitten, zou jij ook niet weten wat er fout is aan mijn code?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

xingrs schreef op 29 August 2003 @ 10:06:
Alleen op deze website heb ik maar 4 of 5 van die includes pagina's en graag zou ik het werkend zien aangezien ik er al wat tijd in heb zitten, zou jij ook niet weten wat er fout is aan mijn code?
Nee, want, zoals ik al zei, snap ik je verhaal niet... :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
Verwijderd schreef op 29 augustus 2003 @ 10:05:
Zet eerst eens <% option explicit %> onder je regel dat je aangeeft dat je VBscript als taal gebruikt, daarmee krijg je als er fouten zijn een beter foutmelding. De variabele pagina is niet gedeclareerd (DIM pagina) Daarnaast is het gebruik niet echt logisch van jouw template of ik begrijp je niet.

Je roept via een link hallo.asp op, daarin wordt het script, query etc verwerkt, onder aandiepagina staat include hallotemplate.asp die de waarde in die template plaatst. Op die manier hoef je voor de opmaak alleen maar te werken in hallotemplate.asp

Dit is overigens niet echt de mooiste methode om templates toe te passen...
Ik weet dat dit niet echt de mooiste methode is, hier moet ik in de toekomst ook zeker verandering in brengen. Bedankt voor de <% option explicit %> tip ik ga even kijken of ik hier iets meer duidelijkheid mee krijg.

  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
gorgi_19 schreef op 29 August 2003 @ 10:08:
[...]

Nee, want, zoals ik al zei, snap ik je verhaal niet... :P
Oke :)

ik heb een menu met een aantal knoppen die er verder niet toedoen, ik heb onder die knop de link template.asp?pagina=naamvandepagina. Die word geopend in het andere frame.

In de pagina template.asp staat de code die ik ook al vermeld heb in mijn eerste post. Die gaat dus kijken naar de naam die meegegeven word dmv. de link, en zoekt daar de file bij die geinclude moet worden, en die moet dan dus ook geinclude worden. Tussen de standaard tags die al opgegeven zijn in template.asp.

Snap je me nu? :)

Verwijderd

xingrs schreef op 29 augustus 2003 @ 09:57:als ik dit nu aanroep werkt het niet
Wat werkt er niet... laatie helemaal niks zien of laatie alles zien? heb j al geprobeerd of de GET variabele op de pagina komt, heb je al geprobeerd om ipv de include gewoon ff een response.write neer te zetten om te kijken of de ifelse goed werkt etc...

Krijg je nu wel een foutmelding na het plaatsen van option explicit...

[ Voor 10% gewijzigd door Verwijderd op 29-08-2003 10:22 ]


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
Verwijderd schreef op 29 August 2003 @ 10:21:
[...]


Wat werkt er niet... laatie helemaal niks zien of laatie alles zien? heb j al geprober of je GET variabele op de pagina komt heb je al geprobeerd om ipv de include gewoon ff een response.write neer te zetten om te kijken of de ifelse goed werkt.
Ik krijg een 500 (De pagina kan niet worden weergegeven.) :? en ja de pagina template.asp bestaat wel. template.asp word ook niet alleen geladen, erg raar, want hij staat er wel degelijk.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<% 
Dim pagina

pagina=request.querystring("pagina")

If pagina="werkwijze" then

    %><!-- #include file="werkwijzeinc.asp"--><%

Elseif pagina="team" then

    %><!-- #include file="teaminc.asp"--><%

Else

    Response.Write "Error: Pagina ("  & pagina & ") niet gevonden of gedefinieerd"
    Response.End

End if

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

xingrs schreef op 29 August 2003 @ 10:23:
[...]

Ik krijg een 500 (De pagina kan niet worden weergegeven.) :? en ja de pagina template.asp bestaat wel. template.asp word ook niet alleen geladen, erg raar, want hij staat er wel degelijk.
Ik denk dat je beter nu even een stop / leesmoment kan gaan inbouwen.. :)

Kijk eens naar P&W FAQ - ASP
En dan vooral het gedeelte "Algemene tips" en "Debuggen in ASP".

Zo heb je bijvoorbeeld : "Show friendly HTTP errors" aanstaan, waardoor je geen foutmeldingen krijgt.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
<% option explicit %> en repsponse.write leveren ook niks op, ik snap het niet helemaal want de webserver doet net alsof de file niet bestaat :?

bedank! voor jullie reacties, ik kan nu wat verder, ik ga even verder kijken.
nogmaals dank.

  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
Na wat debuggen ben ik een stuk verder, de includes werken, en template.asp doet het.
Nu een laatste probleem, kan je asp code op deze manier includen in een pagina? Hij stopt namelijk met includen vlak voor <% :?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
xingrs schreef op 29 augustus 2003 @ 10:45:
Na wat debuggen ben ik een stuk verder, de includes werken, en template.asp doet het.
Nu een laatste probleem, kan je asp code op deze manier includen in een pagina? Hij stopt namelijk met includen vlak voor <% :?
de door jou beschreven manier is idd de manier om asp te includen, als een pagina plotseling stopt dan moet je ffies kijken of je niet ergens een Response.End() hebt staan....

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
Er staat geen Response.End() in template.asp en ook niet in een van de te includen pagina's. Door te debuggen met response.write () ben ik er achter gekomen dat hij niet eens met het includen van de tabel uit de include begint :?

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Is het niet mogelijk om een grote include te maken en afhankelijk van de pagina die je oproept een functie uit te voeren die alle op het scherm zet?

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- #includes virtual="/root/include/file.asp" -->

pagina=request.querystring("pagina")

If pagina="werkwijze" then
 Werkwijze()

Elseif pagina="team" then
  team()

Else

    Response.Write "Error: Pagina ("  & pagina & ") niet gevonden of gedefinieerd"
    Response.End

End if

-edit-
En misschien is bij een vergelijking van meer dan 2 een Case mooier.. (maar dat is geen verplichting hoor!)

[ Voor 20% gewijzigd door Jaspertje op 29-08-2003 11:57 ]


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
Jaspertje schreef op 29 augustus 2003 @ 11:56:
Is het niet mogelijk om een grote include te maken en afhankelijk van de pagina die je oproept een functie uit te voeren die alle op het scherm zet?

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- #includes virtual="/root/include/file.asp" -->

pagina=request.querystring("pagina")

If pagina="werkwijze" then
 Werkwijze()

Elseif pagina="team" then
  team()

Else

    Response.Write "Error: Pagina ("  & pagina & ") niet gevonden of gedefinieerd"
    Response.End

End if

-edit-
En misschien is bij een vergelijking van meer dan 2 een Case mooier.. (maar dat is geen verplichting hoor!)
Een leuk idee, maar dan heb je een grote include, en dan is het hele idee achter dit voor mij weg, en dat is dat je alleen een dbase code en een tabel te includen om een pagina te krijgen. Of begrijp ik je nu verkeerd?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Als je met een database gaat werken, waarom wil je dan uberhaupt nog een include-bestand hebben? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
gorgi_19 schreef op 29 August 2003 @ 12:04:
Als je met een database gaat werken, waarom wil je dan uberhaupt nog een include-bestand hebben? :?
Het enige wat met deze database pagina's hetzelfde is is de connectie met de dbase en de opmaakt. De tabel(len) waarin dit word gedisplayed zijn allemaal anders, alleen wil ik dus een standaard opmaak, waar je (afhankelijk welke knop je klikt) een tabel krijgt te zien met een desbetreffende info.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
xingrs schreef op 29 August 2003 @ 11:29:
Er staat geen Response.End() in template.asp en ook niet in een van de te includen pagina's. Door te debuggen met response.write () ben ik er achter gekomen dat hij niet eens met het includen van de tabel uit de include begint :?
Oke, maar, als hij niet begint met de table uit de include, dan betekent dat dus dat je een foutmelding krijgt.... (waaruit moet blijken dat de pagina niet bekend is)

Anders wil ik wel eens die include zien...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

FvKnijff schreef op 29 augustus 2003 @ 12:07:
[...]


Oke, maar, als hij niet begint met de table uit de include, dan betekent dat dus dat je een foutmelding krijgt.... (waaruit moet blijken dat de pagina niet bekend is)

Anders wil ik wel eens die include zien...
Sowieso weet ik niet of de topicstarter al had gezien dat er in je initiele code een fout zit, die ik er al uit had gehaald inmijn voorbeeldcode.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 24-07 10:48
Ik zou je ook adviseren de http vriendelijke foutmeldingen uit te zetten van je browser. Dan kan je zien wat de echte foutmelding is. Kan je makkelijker mee debuggen.

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Als ik de TS nu goed begrijp, dan zou je wel mijn ding kunnen gebruiken (met die functie aanroepen)

Allleen, maak je wel 5 includes die je wel allemaal include.. Alleen gebruik je er maar een (door die functie aan te roepen)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Jaspertje schreef op 29 August 2003 @ 12:22:
Als ik de TS nu goed begrijp, dan zou je wel mijn ding kunnen gebruiken (met die functie aanroepen)

Allleen, maak je wel 5 includes die je wel allemaal include.. Alleen gebruik je er maar een (door die functie aan te roepen)
Wat verder de TS ook volgens mij niet goed beseft, is dat wel alle includebestanden gebruikt / ingeladen worden, ondanks dat deze niet gebruikt worden.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
gorgi_19 schreef op 29 augustus 2003 @ 12:09:
[...]

Sowieso weet ik niet of de topicstarter al had gezien dat er in je initiele code een fout zit, die ik er al uit had gehaald inmijn voorbeeldcode.
Nee had ik niet gezien ik had alleen je error handle regel overgenomen.
Maar het werkt nu _/-\o_ mijn dank aan jullie hulp!!

bedankt!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

xingrs schreef op 29 August 2003 @ 12:31:
[...]

Nee had ik niet gezien ik had alleen je error handle regel overgenomen.
Maar het werkt nu _/-\o_ mijn dank aan jullie hulp!!

bedankt!
1 tip: Neem dat debugging gedeelte uit de FAQ door; dan had je het probleem al gelijk gevonden.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025
gorgi_19 schreef op 29 August 2003 @ 12:34:
[...]

1 tip: Neem dat debugging gedeelte uit de FAQ door; dan had je het probleem al gelijk gevonden.
Inderdaad, daar heb je gelijk in, weet ik dat voor de volgende keer.
Dankzei de FAQ en jullie hulp is het wel gelukt :)
Pagina: 1