/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
include ????
Fra : L@rs K.


Dato : 24-05-06 12:06

Hej

Jeg ønsker, at lave en "include" på min hjemmeside.

Jeg er klar over, at man kan sætte flg. kode ind i sin kode:
<!--#include file="config.asp"-->

Men jeg ønsker at lave en "if" sætninge, da det skal
være afhænig af forskellige værdier hvilken fil der
skal indlæses.

Så mit spørgsmål er så hvordan skriver jeg det ??

f.eks:

if a = 1 then
include ??? file="fil 1.asp"

or
a = 2
include ??? file="fil 2.asp"

end if

Det er "include-tingen" jeg ikke rigtig kan finde ud af


Håber nogen kan hjælpe

mvh
Lars



 
 
Jan Vinten (24-05-2006)
Kommentar
Fra : Jan Vinten


Dato : 24-05-06 12:37

Hej Lars,

Jeg vil forslå du bruger en Select statement se nedenstående:

DIN_VARIABEL = 'MAIN'

Select Case DIN_VARIABEL
Case "MAIN"
%><!-- #include file = "fil1.asp" --><%
Case "LINKS"
%><!-- #include file = "fil2.asp" --><%

Case Else
%><!-- #include file = "fil3.asp" --><%
End Select

Ud for "Select Case" kan du evt. også bruge Request.Form eller lign.
Men Select-statementet er efter min mening det smarteste.

Læg mærke til den sidste "Case Else" - hvis din værdi ikke
indeholder noget "brugbart" kan den fil3.asp som alternativ.

God fornøjelse!

/ Jan


Jens Gyldenkærne Cla~ (24-05-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-05-06 14:12

Jan Vinten skrev:

> Select Case DIN_VARIABEL
> Case "MAIN"
> %><!-- #include file = "fil1.asp" --><%
> Case "LINKS"
> %><!-- #include file = "fil2.asp" --><%
>
> Case Else
> %><!-- #include file = "fil3.asp" --><%
> End Select

Man skal bare være klar over at samtlige filer inkluderes.
Ovenstående svarer i asp-sammenhæng til at man skriver:

Select Case DIN_VARIABEL
   Case "MAIN"
       <!-- hele indholdet af fil1.asp -->
   Case "LINKS"
       <!-- hele indholdet af fil2.asp -->
   ...
End Select

En lidt smartere metode er at bruge server.execute - se artiklen
her: <http://asp-faq.dk/article/?id=50>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Christian Kragh (24-05-2006)
Kommentar
Fra : Christian Kragh


Dato : 24-05-06 14:51

> Select Case DIN_VARIABEL
>    Case "MAIN"
>        <!-- hele indholdet af fil1.asp -->
>    Case "LINKS"
>        <!-- hele indholdet af fil2.asp -->
>    ...
> End Select

Hvad med at lave en server.execute?

Select Case DIN_VARIABEL
case "Main"
server.execute("fil1.asp")
case "Links"
server.execute("fil2.asp")
end select

Christian

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (24-05-2006)
Kommentar
Fra : Jørn Andersen


Dato : 24-05-06 17:39

On 24 May 2006 13:50:52 GMT, Christian Kragh <tursoe@gmail.com> wrote:

>Hvad med at lave en server.execute?

- hvilket også stod i det indlæg, du svarede på:
En lidt smartere metode er at bruge server.execute - se artiklen
her: <http://asp-faq.dk/article/?id=50>.



--
Jørn Andersen,
Brønshøj

L@rs (24-05-2006)
Kommentar
Fra : L@rs


Dato : 24-05-06 20:10

Det begynder at blive avanceret....

Jeg forstillede mig at jeg ville indsætte fil 1 eller fil 2 osv.
i form af menuén.

Altså, alt efter hvilken "status" brugeren har (der er logget in) - Så var
det
meningen, at menuén med de tildelte links blev loadet.

Altså.

if brugerstatus = 1 then
include fil 1
or
brugerstatus = 2 then
include fil 2

end if


Jeg mente bare, at en if-sætning ville vaære den nemmeste
måde at gøre det på...

mvh Lars



>
>>Hvad med at lave en server.execute?
>
> - hvilket også stod i det indlæg, du svarede på:
> En lidt smartere metode er at bruge server.execute - se artiklen
> her: <http://asp-faq.dk/article/?id=50>.
>
>
>
> --
> Jørn Andersen,
> Brønshøj



Jens Gyldenkærne Cla~ (24-05-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-05-06 23:11

L@rs skrev:

> Det begynder at blive avanceret....

Det er nu ikke så slemt endda - prøv at lege med teknikken som den
er beskrevet i den artikel jeg henviste til tidligere.


> Jeg mente bare, at en if-sætning ville vaære den nemmeste
> måde at gøre det på...

Om man vælger if ... elseif ... else ... end if, eller select case
er primært et spørgsmål om smag. Jeg synes det er lettere at
overskue en select case-opbygning end en tilsvarende if/else-
opbygning, men de virker lige godt.

Der er til gengæld en del forskel på om man bruger include eller
server.execute til inkluderingen.

Alle include-kommandoer kører *før* asp-parseren begynder at læse
asp-koden. Det betyder at hvis man har en konstruktion med 10
forskellige menufiler i en select case- eller if-opbygning, bliver
samtlige 10 filer inkluderet før asp-parseren finder ud af hvad den
skal stille op med betingelserne i asp-koden.

Med server.execute "køres" filen fra asp - og dermed kan man nøjes
med at køre præcis den fil man vil har ind i menuen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

L@rs (25-05-2006)
Kommentar
Fra : L@rs


Dato : 25-05-06 14:33


Nu skal det lige siges, at jeg er helt "grøn" hvad angår programering....

Men jeg kan ikke rigtig forstå det du skriver ang. alle hendelserne
bliver afviklet hvis man brug "if"
Hvis det er tilfældet, så er der jo ikke noget formål med en "if" sætning.

Jeg vil dog prøve mig lidt frem med de forslag der er kommet. Tak for dem.

Men jeg har stadig ikke fået løst gåden om havd/hvordan jeg skal
skrive i en "if" sætning for at få den til at indlæse en fil (include)

Håber der er en venlig/dygtig sjæl der har et forslag.

Lars


> Alle include-kommandoer kører *før* asp-parseren begynder at læse
> asp-koden. Det betyder at hvis man har en konstruktion med 10
> forskellige menufiler i en select case- eller if-opbygning, bliver
> samtlige 10 filer inkluderet før asp-parseren finder ud af hvad den
> skal stille op med betingelserne i asp-koden.
>
> Med server.execute "køres" filen fra asp - og dermed kan man nøjes
> med at køre præcis den fil man vil har ind i menuen.
> --
> Jens Gyldenkærne Clausen



Jens Gyldenkærne Cla~ (25-05-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-05-06 17:10

L@rs skrev:

> Men jeg kan ikke rigtig forstå det du skriver ang. alle
> hendelserne bliver afviklet hvis man brug "if"

Nej - det er ikke det jeg skriver.

Pointen er at inkludering af kode med SSI (<!--#include...-->)
foretages før asp-koden fortolkes.

Eksempel:

default.asp:
<%
side = Request.Querystring("side")
If side = "a" Then
%>
   <!-- #include file = "fil1.asp" -->
<% ElseIf side = "b" Then %>
   <!-- #include file = "fil2.asp" -->
<% Else %>
   <!-- #include file = "fil3.asp" -->
<% End If %>

fil1.asp:
   <p>Her er indholdet i fil nr. 1</p>

fil2.asp:
   <p>Her er indholdet i fil nr. 2</p>

fil3.asp:
   <p>Her er indholdet i fil nr. 3</p>


Hvis man kalder default.asp?side=b, sker der følgende:

Først behandler SSI-parseren filen og henter alle inkluderede
filer. Den side som asp-parseren "ser", svarer derfor til en fil
hvor man erstatter inkluderingerne med indholdet af filerne:

default.asp*:
<%
side = Request.Querystring("side")
If side = "a" Then
%>
   <p>Her er indholdet i fil nr. 1</p>
<% ElseIf side = "b" Then %>
   <p>Her er indholdet i fil nr. 2</p>
<% Else %>
   <p>Her er indholdet i fil nr. 3</p>
<% End If %>


Når includefilerne er hentet, behandler asp-parseren asp-koden og
vil derfor udskrive:

   <p>Her er indholdet i fil nr. 2</p>

- til browseren (helt som ønsket). Problemet er bare at man får
hentet en masse indhold der ikke er brug for (med så små filer som
i eksemplet her, er det underordnet, men hvis man fx har længere
tekster der inkluderes er der et problem).


En anden måde at illustrere at inkludering foregår før fortolkning
er med følgende lille testside:

<%
If Now > Rundetårn Then
   Skriv en fejlmeddelelse
End If
%>
<!--#include file="findes.ikke.asp"-->

Der er fejl i den første asp-linje, og asp-parseren vil derfor
stoppe så snart den ser den. Men hvis man prøver at køre filen, er
det den manglende includefil der vises som fejlårsag.

NB: Læs gerne min signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

L@rs (26-05-2006)
Kommentar
Fra : L@rs


Dato : 26-05-06 13:00

Ok, for, at runde det her af...

Så har jeg leget lidt med det.

Jeg har lavet men "index.asp"
Hvor jeg har sat nedenfor stående. kode ind.
Har naturligvis lavet de 3 filer der kan/skal indlæses.

Jeg kan se, at den indlæser den fil jeg gerne vil have
indlæst. Men om den indlæser alle 3 sider, dog
uden at vise mere end den ene jeg gerne vil have
vist. Det skal jeg lade være usagt. Der er jeg nok lidt
for grøn

For, at runde det hele af, så er jeg godt tilfrds. For
da det er "menu-knapper" i form af tekst jeg vil indlæse
og da menu-knapperne er noget der går igen på siderne
så kan jeg godt leve med det. Og jeg er sikker på at
brugerne også kan...

Men atter en gang... 1000 tak for alle de gode svar.
Jeg har lært meget.

Lars

<%
a = 3
Response.Write a
Select Case a
Case 1
%><!--#include file="side1.asp"--><%
Case 2
%><!--#include file="side2.asp"--><%
Case 3
%><!--#include file="side3.asp"--><%
Case else
Response.Write "<p>Nu er det vinter!</p>"

End Select

%>





Jens Gyldenkærne Cla~ (28-05-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-05-06 14:25

L@rs skrev:

> Men om den indlæser alle 3 sider, dog
> uden at vise mere end den ene jeg gerne vil have
> vist.

Det gør den - det er det jeg har fosøgt at forklare et par gange.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408799
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste