Avatar billede chanlo Nybegynder
14. januar 2003 - 12:42 Der er 14 kommentarer og
2 løsninger

lidt asp hjælp

jeg er ny med asp.
før har jeg brugt .js filer til f.eks en menu eller sidefod som skal vises på alle siderne.

som her:
var sidefod='<table width="100%" height="20" border="0" cellspacing="0" cellpadding="0" bgcolor="#658037">'+
'<tr>'+
'<td><div align="left">'+
'<font size="1" face="Geneva,Verdana,Arial,Helvetica,sans-serif">'+
'&nbsp;&nbsp;Siden er optimeret til Microsoft Explorer i en 800x600 opl&oslash;sning.'+
'<img src="Billeder/spacer.gif" width="205" height="1">'+
'&copy;&nbsp;2002 <a class="link_underlined" href="mailto:tmp70@stofanet.dk">TechForm WebDesign</a>'+
'</font>'+
'</div></td>'+
'</tr>'+
'</table>'

nu vil jeg gerne lave det samme i asp men hvordan ??
skal jeg lave en .asp side med generelle funktioner og variabler og bruge include på den ??
og skal man bruge variabler eller lave funktioner som returnerer inholdet (html)... ??
Avatar billede Chewie Novice
14. januar 2003 - 12:42 #1
Avatar billede chanlo Nybegynder
14. januar 2003 - 12:49 #2
sorry
Avatar billede angam Nybegynder
14. januar 2003 - 12:50 #3
Du laver en asp-fil du kalder f.eks. header.asp:

<table width="100%" height="20" border="0" cellspacing="0" cellpadding="0" bgcolor="#658037">
<tr><td><div align="left">
<font size="1" face="Geneva,Verdana,Arial,Helvetica,sans-serif">&nbsp;&nbsp;Siden er optimeret til Microsoft Explorer i en 800x600 opl&oslash;sning.
<img src="Billeder/spacer.gif" width="205" height="1">&copy;&nbsp;2002 <a class="link_underlined" href="mailto:tmp70@stofanet.dk">TechForm WebDesign</a>
</font>
</div></td>
</tr>
</table>

På samtlige (asp)-sider hvor du ønsker denne header i toppen, skriver du blot
<!-- #INCLUDE FILE="header.asp" -->
Avatar billede eagleeye Praktikant
14. januar 2003 - 12:53 #4
Sådan her du skal så havd to "" inde i strengen for at få en " når den udskrives:

sidefod = "<table width=""100%"" height=""20"" border=""0"" cellspacing=""0"" cellpadding=""0"" bgcolor=""#658037"">" & _
"<tr>" &_
"<td><div align=""left"">" &_

osv osv.
Avatar billede angam Nybegynder
14. januar 2003 - 12:53 #5
... og ja - på samme måde kan du naturligvis lave og inkludere footer.asp :-)
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:03 #6
hvad nu hvis jeg gerne vil have både header og fooder i samme .asp fil og de skal skrives forskellige steder??
Avatar billede angam Nybegynder
14. januar 2003 - 13:05 #7
Så laver du en header.asp og en footer.asp-fil, og din html som sædvanligt:
<html>
<gead><title>something</title></head>
<body>
<!-- #INCLUDE FILE="header.asp" -->
...
[Her er al din almindelige html-kode]
...
<!-- #INCLUDE FILE="footer.asp" -->
</body>
</html>
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:07 #8
du forstår ikke... header.asp og fooder.asp skal være samme fil !!
Avatar billede angam Nybegynder
14. januar 2003 - 13:09 #9
Jamen så inkluderer du bare den samme fil to gange :-)
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:21 #10
jamen jamen....
det skal være 2 forskellige funktioner, den ene en header og den anden en fooder. hvis jeg inkluderer samme fil flere gange bliver begge ( både fooder og header) udskrevet alle steder hvor der inkluderes.
det jeg gerne vil er f.eks at kalde en funktion som KUN udskriver header, og en funktion som kun udskriver fooder (hvor header og fooder ligger i samme .asp fil)
håber du forstår nu..
Avatar billede edutasia Nybegynder
14. januar 2003 - 13:24 #11
Du kan lave to subs kaldet f.eks. writeHeader() og writeFooter() i samme fil, inkludere den øverst på siden og kalde sub'erne dér, hvor koden skal bruges:

Skriv følgende i include-filen:

Sub writeHeader()
  Response.Write "<table><tr><td osv.."
End Sub

Sub writeFooter()
  Response.Write "<table><tr><td osv.."
End Sub

Skriv følgende på siderne, når header eller footer skal skrives:

<!-- #INCLUDE FILE="include.asp" -->

<%=writeHeader%>

(sideindhold her)

<%=writeFooter%>
Avatar billede angam Nybegynder
14. januar 2003 - 13:31 #12
Ok; ja, det var lidt anderledes end hvad du startede med at skrive :-)

Så laver du een fil: header.asp

<%
Function Header()
  Response.Write("<table width=""100%"" height=""20"" border=""0""")
  Response.Write("cellspacing=""0"" cellpadding=""0"" bgcolor=""#658037"">")
  Response.Write("<tr><td><div align=""left"">")
  Response.Write("<font size=""1"" face=""Geneva,Verdana,Arial,Helvetica,sans-serif"">&nbsp;&nbsp;Siden er optimeret til Microsoft Explorer i en 800x600 opl&oslash;sning.")
  Response.Write("<img src=""Billeder/spacer.gif"" width=""205"" height=""1"">&copy;&nbsp;2002 <a class=""link_underlined"" href=""mailto:tmp70@stofanet.dk"">TechForm WebDesign</a>")
  Response.Write("</font>")
  Response.Write("</div></td>")
  Response.Write("</tr></table>")
End Function

Function Footer()
  Response.Write("<table><tr><td>Her er footeren.</td></tr></table>")
End Function
%>


I dine asp-filer gør du nu følgende:

<!-- #INCLUDE FILE="header.asp" -->
<html>
<gead><title>something</title></head>
<body>
<%=Header()%>
...
[Her er al din almindelige html-kode]
...
<%=Footer()%>
</body>
</html>
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:33 #13
jeps edutasia, det var lige det jeg ledte efter;-)
en sidste ting: skal man skrive Response.Write foran alle linier eller kan man bruge et + ved linieskift som i javascript ?
Avatar billede angam Nybegynder
14. januar 2003 - 13:35 #14
Du kan bruge &_

(altså som:
response.write("test linie 1 "&_
  "test linie 2")
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:36 #15
->angam, nå...
men det var det jeg mente *griner*
Avatar billede chanlo Nybegynder
14. januar 2003 - 13:41 #16
tak for hjælpen ;-)
zez
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