Avatar billede peterpeter Seniormester
20. august 2004 - 17:42 Der er 10 kommentarer og
1 løsning

Er det bare en CSS fil der skal laves, når det er ASP sider

Hej Alle

Jeg har oprettet dette spørgsmål i ASP rubrikken, men er blevet anbefalet at flytte det herover.

Er der nogen der kan hjælpe mig med nedenstående ?? Hvordan dælen er det lige jeg minimerer min kode ??

Mange Tak  ;-)


Jeg har en hjemmeside med en menu med en mængde punkter.
Hver gang der vælges et menupunkt, hentes en ny ASP fil, som henter tekstindholdet fra en database.

Når indholdet bliver præsenteret sker det i en tabel med rundinger, baggrundsfarver med mere...

Problem:

Jeg skal til at opdatere alle disse ASP sider, men er det ikke muligt at gøre således, at alle standard oplysningerne hentes et sted fra, så jeg ikke skal ind og rette mere end højst nødvendigt i hver fil !!!
(Altså ikke tilrette tabeloplysningerne mere end et sted !!)

Lidt a´la når man laver en CSS fil...

Forstår i ??

Jeg vedlægger her min .asp fil (en af dem) - det er dem jeg har ca. 30 af, som jeg alle skal tilrette, når jeg skal skifte tabelstørrelse med mere....

<!--#include file="connection.asp"-->

<html>
  <head>
  </head>

<body>
 
<table align="left" border="0" cellspacing="1" style=""width:640px;"">
  <tr><td>
<%
Dim objRec, DBforbindelse

strSQL = "SELECT * FROM artikel WHERE undermenu like '%vedtaegter%' ORDER BY id"
  Set objRec = DBforbindelse.execute(strSQL)

Do While Not objRec.EOF

'Her starter ny tabel

'Response.Write "<center>"
Response.Write "<TABLE border=0 cellPadding=0 cellSpacing=0 width='640'><TBODY><TR>"
Response.Write "<TD width=10></TD>"
Response.Write "<TD align=left vAlign=top>"
   
Response.Write "<TABLE border=0 cellPadding=3 cellSpacing=0 width='640'>"
Response.Write "<TBODY>"
Response.Write "<TR><TR>"
Response.Write "<TD background='referat/billeder/sogning-left.gif' bgColor='#0C0CB5' height=25

width=4></TD>"
         

'overskrift
'Response.Write "<TD background='referat/billeder/sogning-right-top.gif' bgColor='#0C0CB5'

height=25><b>" & objRec("overskrift") & "</b></TD>"
Response.Write "<TD background='referat/billeder/sogning-right-top.gif' bgColor='#0C0CB5'

style=""height:25px; font-variant : small-caps; font:17px;font-family:Arial;""><font

color=""white""><b>" & objRec("overskrift") & "</b></font></TD>"

Response.Write "<TD background='referat/billeder/sogning-right.gif' bgColor='#0C0CB5' height=25

width=4></TD></TR>"
     
Response.Write "<TR><TD bgColor=#000000 colSpan=3 height=1></TD></TR>"
       
Response.Write "<TR>"
Response.Write "<TD background='referat/billeder/bg-boks-left.gif' width=4 bgcolor=white></TD>"
Response.Write "<TD align=left vAlign=top bgcolor=white>"
'Nedenstående linie (100%) gør at teksten fylder hele tabellen
Response.Write "<TABLE align=left border=0 cellPadding=2 cellSpacing=0 bgcolor=white

width='100%'>"
Response.Write "<TBODY><TR>"
               
Response.Write "<TD height=10 bgcolor=white></TD></TR>"
Response.Write "<TR style=""font:12px;padding-left:8px;font-family:arial;"">"

Response.Write Replace(objRec("indhold"),Vbcrlf,"<BR>")
               
Response.Write "</TR>"
           
Response.Write "<TR>"
Response.Write "<TD height=10 bgcolor=white></TD></TR></TBODY></TABLE></TD>"
Response.Write "<TD background='referat/billeder/bg-boks-right2.gif' width=4

bgcolor=white></TD></TR>"
Response.Write "<TR>"
Response.Write "<TD background='referat/billeder/bg-boks-bottom-left.gif' height=4 width=4

bgcolor=white></TD>"
Response.Write "<TD background='referat/billeder/bg-boks-bottom.gif' bgcolor=white></TD>"
Response.Write "<TD background='referat/billeder/bg-boks-bottom-right2.gif' height=4 width=4

bgcolor=white></TD></TR></TBODY></TABLE></TD>"

Response.Write "<TD width=10></TD></TR></TBODY></TABLE>"

objRec.MoveNext
  Response.Write "<br>"
Loop
  objRec.Close
Set objRec = Nothing
%>   
 
  </td></tr>
</table>

</body>
</html>
Avatar billede Slettet bruger
20. august 2004 - 17:47 #1
Husk at bemærke, at du ønsker en extern CSS-fil, hvis der er flere .ASP-dokumenter som skal styres.  :-)
Avatar billede peterpeter Seniormester
20. august 2004 - 18:24 #2
Hej Extend - Mange tak igen.

Hej Alle
Er der nogen der vil hjælpe mig med at lave en extern CSS-fil, så jeg kan styre en masse af de ens overordnede sider ??

Tak
Avatar billede peterpeter Seniormester
20. august 2004 - 18:26 #3
Altså - det eneste der adskiller alle mine mange ens .asp filer, er kaldet til det eksakte database punkt -> '%vedtaegter%

Ellers ligner de alle ovenstående....

Tak
Avatar billede jytte Nybegynder
20. august 2004 - 19:33 #4
Bør det ikke løses med en include-fil

<%
function VisTabel(indhold)
    dim str
    str = "<center>"
    str = str & "<TABLE border=0 cellPadding=0 cellSpacing=0 width='640'><TBODY><TR>"
    'her mangler linier
    str = str & Replace(indhold,Vbcrlf,"<BR>")
    'her mangler linier
    VisTabel = str
end function
%>

og så bruge funktionen således
Do While Not objRec.EOF
    Response.write Vistabel(objRec("indhold"))
    objRec.MoveNext
    Response.Write "<br>"
Loop
Avatar billede peterpeter Seniormester
20. august 2004 - 22:08 #5
Hej Jytte

Mange tak for dit svar...Men har du eller I andre, mulighed for at skære det lidt mere ud i pap ???

;-)  Mange Tak
Avatar billede jytte Nybegynder
21. august 2004 - 18:28 #6
Lav en fil VisTabel.asp indeholdende

<%
function VisTabel(indhold)
    dim str
    str = "<center>"
    str = str & "<TABLE border=0 cellPadding=0 cellSpacing=0 width='640'><TBODY><TR>"
    'her mangler linier
    str = str & Replace(indhold,Vbcrlf,"<BR>")
    'her mangler linier
    VisTabel = str
end function
%>

Tilføj så øverst i din egen asp-fil

<!--#include file="VisTabel.asp"-->

og længere nede

Do While Not objRec.EOF
    Response.write Vistabel(objRec("indhold")) ' i stedet for din tabelkode
    objRec.MoveNext
    Response.Write "<br>"
Loop

Var det mere forståeligt ?
Avatar billede peterpeter Seniormester
22. august 2004 - 00:19 #7
Hej Jytte

PERFEKT !! Det virker præcist som det skal....Alletiders.

Mange tak for hjælpen.

Men jeg undrer mig dog over, at jeg syntes ikke tabellen kommer så hurtigt frem ???

Gider du prøve at se, om der er noget kode der er fuldstændigt gak gak / overflødigt eller lign. ??

Tak  ;-)

Jeg vedlægger herunder min nye vistabel.asp fil samt min almindelige .asp fil

<%
function VisTabel(indhold)
    dim str
   
'str = str & - er der hvor der i gamle dage stod response.write 

str = "<TABLE border=0 cellPadding=0 cellSpacing=0 width='656'><TBODY><TR>"
str = str & "<TD width=10></TD>"
str = str & "<TD align=left vAlign=top>"
   
str = str & "<TABLE border=0 cellPadding=3 cellSpacing=0 width='656'>"
str = str & "<TBODY>"
str = str & "<TR><TR>"
str = str & "<TD background='referat/billeder/sogning-left.gif' bgColor='#336699' height=25 width=4></TD>"
         

'overskrift
str = str & "<TD background='referat/billeder/sogning-right-top.gif' bgColor='#336699' style=""height:25px; font-variant : small-caps; font:17px;font-family:Arial;""><font color=""white""><b>" & objRec("overskrift") & "</b></font></TD>"
str = str & "<TD background='referat/billeder/sogning-right.gif' bgColor='#336699' height=25 width=4></TD></TR>"
str = str & "<TR><TD bgColor=#000000 colSpan=3 height=1></TD></TR>"
       
str = str & "<TR>"
str = str & "<TD background='referat/billeder/bg-boks-left.gif' width=4 bgcolor=white></TD>"
str = str & "<TD align=left vAlign=top bgcolor=white>"
'Nedenstående linie (100%) gør at teksten fylder hele tabellen
str = str & "<TABLE align=left border=0 cellPadding=2 cellSpacing=0 bgcolor=white width='100%'>"
str = str & "<TBODY><TR>"
               
str = str & "<TD height=10 bgcolor=white></TD></TR>"
str = str & "<TR style=""font:12px;padding-left:8px;font-family:arial;"">"

str = str & Replace(indhold,Vbcrlf,"<BR>")

str = str & "</TR>"
str = str & "<TR>"
str = str & "<TD height=10 bgcolor=white></TD></TR></TBODY></TABLE></TD>"
str = str & "<TD background='referat/billeder/bg-boks-right2.gif' width=4 bgcolor=white></TD></TR>"
str = str & "<TR>"
str = str & "<TD background='referat/billeder/bg-boks-bottom-left.gif' height=4 width=4 bgcolor=white></TD>"
str = str & "<TD background='referat/billeder/bg-boks-bottom.gif' bgcolor=white></TD>"
str = str & "<TD background='referat/billeder/bg-boks-bottom-right2.gif' height=4 width=4 bgcolor=white></TD></TR></TBODY></TABLE></TD>"
str = str & "<TD width=10></TD></TR></TBODY></TABLE>"

    VisTabel = str
end function
%>

Og min almindelige .asp fil:


<!--#include file="connection.asp"-->
<!--#include file="VisTabel.asp"-->

<html>
  <head>
  </head>

<body>
 
<table align="left" border="0" cellspacing="1" style=""width:656px;"">
  <tr><td>

<%
Dim objRec, DBforbindelse

strSQL = "SELECT * FROM artikel WHERE undermenu like '%vedtaegter%' ORDER BY id"
  Set objRec = DBforbindelse.execute(strSQL)

Do While Not objRec.EOF

'herunder kigger den over på vistabel.asp
Response.write Vistabel(objRec("indhold")) ' i stedet for den gamle tabelkode

objRec.MoveNext
  Response.Write "<br>"
Loop
  objRec.Close
Set objRec = Nothing
%>   
 
  </td></tr>
</table>

</body>
</html>
Avatar billede jytte Nybegynder
22. august 2004 - 17:31 #8
Ja det er nok lidt langsommere i ASP ( I ASP.net formoder jeg ikke det gør nogen forskel). Det er så det det koster at have kode som er lettere at opdatere og nemmere at overskue.

Måske ville det blive lidt hurtigere således:

<%
Sub VisTabel(indhold)
    response.write "<center>"
    response.write "<TABLE border=0 cellPadding=0 cellSpacing=0 width='640'><TBODY><TR>"
    'her mangler linier
    response.write Replace(indhold,Vbcrlf,"<BR>")
    'her mangler linier
end Sub
%>

og så bruge proceduren således
Do While Not objRec.EOF
    Vistabel objRec("indhold")
    objRec.MoveNext
    Response.Write "<br>"
Loop
Avatar billede peterpeter Seniormester
22. august 2004 - 19:09 #9
Hej Jytte

Mange tak for dit svar - det vil jeg bruge.

Vedr. optimering, så håbede jeg måske du kunne se lidt på min tabelopbygning med mere.... Måske kunne der fjernes en masse koder ??

Kan der ikke det ?? - Jeg syntes der optræder mange "dobbelt" koder, hvis du forstår ;-)

På forhånd tak for hjælpen.

Du må også meget gerne lige ligge et svar, så du kan få point for din super gode hjælp !!
Avatar billede jytte Nybegynder
23. august 2004 - 06:29 #10
Hov, jeg opdagede lige at du jo også har en objRec("overskrift")

<%
Sub VisTabel(indhold,overskrift)
    response.write "<center>"
    response.write "<TABLE border=0 cellPadding=0 cellSpacing=0 width='640'><TBODY><TR>"
    'her mangler linier
    response.write overskrift
    'her mangler linier
    response.write Replace(indhold,Vbcrlf,"<BR>")
    'her mangler linier
end Sub
%>

og så bruge proceduren således
Do While Not objRec.EOF
    Vistabel objRec("indhold"),objRec("overskrift")
    objRec.MoveNext
    Response.Write "<br>"
Loop

Jeg ville ikke bruge for meget tid på at optimere tabelkoden, der vist ikke så megt vundet.
Avatar billede peterpeter Seniormester
26. august 2004 - 11:31 #11
Mange mange tak, for denne total optimering.  ;-)

Så kan det vist ikke optimeres mere.

Mine to filer endte med at se ud som følger:


VISTABEL.ASP

<%
Sub VisTabel(indhold,overskrift)
 
response.write "<TABLE border=0 cellPadding=0 cellSpacing=0 width='656'><TBODY><TR>"
response.write "<TD width=10></TD>"
response.write "<TD align=left vAlign=top>"
   
response.write "<TABLE border=0 cellPadding=3 cellSpacing=0 width='656'>"
response.write "<TBODY>"
response.write "<TR><TR>"
response.write "<TD background='referat/billeder/sogning-left.gif' bgColor='#336699' height=25 width=4></TD>"
         

'overskrift
response.write "<TD background='referat/billeder/sogning-right-top.gif' bgColor='#336699' style=""height:25px; font-variant : small-caps; font:17px;font-family:Arial;""><font color=""white""><b>" & objRec("overskrift") & "</b></font></TD>"
response.write "<TD background='referat/billeder/sogning-right.gif' bgColor='#336699' height=25 width=4></TD></TR>"
response.write "<TR><TD bgColor=#000000 colSpan=3 height=1></TD></TR>"
       
response.write "<TR>"
response.write "<TD background='referat/billeder/bg-boks-left.gif' width=4 bgcolor=white></TD>"
response.write "<TD align=left vAlign=top bgcolor=white>"
'Nedenstående linie (100%) gør at teksten fylder hele tabellen
response.write "<TABLE align=left border=0 cellPadding=2 cellSpacing=0 bgcolor=white width='100%'>"
response.write "<TBODY><TR>"
               
response.write "<TD height=10 bgcolor=white></TD></TR>"
response.write "<TR style=""font:12px;padding-left:8px;font-family:arial;"">"
response.write Replace(indhold,Vbcrlf,"<BR>")

response.write "</TR>"
response.write "<TR>"
response.write "<TD height=10 bgcolor=white></TD></TR></TBODY></TABLE></TD>"
response.write "<TD background='referat/billeder/bg-boks-right2.gif' width=4 bgcolor=white></TD></TR>"
response.write "<TR>"
response.write "<TD background='referat/billeder/bg-boks-bottom-left.gif' height=4 width=4 bgcolor=white></TD>"
response.write "<TD background='referat/billeder/bg-boks-bottom.gif' bgcolor=white></TD>"
response.write "<TD background='referat/billeder/bg-boks-bottom-right2.gif' height=4 width=4 bgcolor=white></TD></TR></TBODY></TABLE></TD>"
response.write "<TD width=10></TD></TR></TBODY></TABLE>"

end Sub
%>


DEN ALMINDELIGE .ASP FIL

<!--#include file="connection.asp"-->
<!--#include file="VisTabel.asp"-->

<html>
  <head>
  </head>

<body>
 
<table align="left" border="0" cellspacing="1" style=""width:656px;"">
  <tr><td>

<%
Dim objRec, DBforbindelse

strSQL = "SELECT * FROM artikel WHERE undermenu like '%vedtaegter%' ORDER BY id"
  Set objRec = DBforbindelse.execute(strSQL)

Do While Not objRec.EOF
    Vistabel objRec("indhold"),objRec("overskrift")
    objRec.MoveNext
    Response.Write "<br>"
Loop

  objRec.Close
Set objRec = Nothing
%>   
 
  </td></tr>
</table>

</body>
</html>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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