devotionMedlem sedan jan. 20013 582 inlägg Hejsan! :)
Har en sida där jag inte använder någon "ren" html-kod utan använder response.write för att skriva ut html.
Tycker dock att ett sådant här kodblock blir klumpigt och oöverskådligt:
If iAccessLevel = 1 then
Response.write "<table class=""tabellRam"" width=""750"" border=""0"" cellspacing=""0"" cellpadding=""0""><tr><td width=""60"" height=""18"" class=""tabellhuvud"">E-nr</td><td width=""250"" class=""tabellhuvud"">Benämning</td><td width=""45"" class=""tabellhuvud"">Enhet</td><td width=""75"" class=""tabellhuvud"">Solar</td><td width=""75"" class=""tabellhuvud"">Storel</td><td width=""75"" class=""tabellhuvud"">Ahlsell</td><td width=""60"" class=""tabellhuvud"">Lägst</td><td width=""60"" class=""tabellhuvud"">Antal</td><td width=""50"" class=""tabellhuvud"">Lägg till</td></tr>"
Else
Response.write "<table class=""tabellRam"" width=""640"" border=""0"" cellspacing=""0"" cellpadding=""0""><tr><td width=""60"" height=""18"" class=""tabellhuvud"">E-nr</td><td width=""250"" class=""tabellhuvud"">Benämning</td><td width=""45"" class=""tabellhuvud"">Enhet</td><td width=""75"" class=""tabellhuvud"">Solar</td><td width=""75"" class=""tabellhuvud"">Storel</td><td width=""75"" class=""tabellhuvud"">Ahlsell</td><td width=""60"" class=""tabellhuvud"">Lägst</td></tr>"
End if
Hur ska man göra för at det ska bli så bra och tydligt som möjligt?
Förslag tas tacksamt emot...
Mvh
henrik
DannyMedlem sedan juli 200412 913 inlägg såhär kanske:
If iAccessLevel = 1 then
Response.write "<table class=""tabellRam"" width=""750"" border=""0""
cellspacing=""0"" cellpadding=""0"">
<tr>
<td width=""60"" height=""18"" class=""tabellhuvud"">E-nr</td>
<td width=""250"" class=""tabellhuvud"">Benämning</td>
<td width=""45"" class=""tabellhuvud"">Enhet</td>
<td width=""75"" class=""tabellhuvud"">Solar</td>
<td width=""75"" class=""tabellhuvud"">Storel</td>
<td width=""75"" class=""tabellhuvud"">Ahlsell</td>
<td width=""60"" class=""tabellhuvud"">Lägst</td>
<td width=""60"" class=""tabellhuvud"">Antal</td>
<td width=""50"" class=""tabellhuvud"">Lägg till</td>
</tr>"
Else
Response.write "<table class=""tabellRam"" width=""640"" border=""0""
cellspacing=""0"" cellpadding=""0"">
<tr>
<td width=""60"" height=""18"" class=""tabellhuvud"">E-nr</td>
<td width=""250"" class=""tabellhuvud"">Benämning</td>
<td width=""45"" class=""tabellhuvud"">Enhet</td>
<td width=""75"" class=""tabellhuvud"">Solar</td>
<td width=""75"" class=""tabellhuvud"">Storel</td>
<td width=""75"" class=""tabellhuvud"">Ahlsell</td>
<td width=""60"" class=""tabellhuvud"">Lägst</td>
</tr>"
End if
Bara separera lite och göra lite luftigare. Sedan om du använder ett vettigt program att koda med som färgar de olika grejjerna så ser man ännu bättre.
liljaMedlem sedan juli 20041 183 inlägg ASP är inte direkt känt för att vara ett språk som separerar HTML-kod och serverkod utan det blir mer så kallad spagghettikod :P
Jag tycker annars det ser okej ut det du gjort. Ett annat sätt är att köra If-sattsen i ASP och sen gå ur ASP koden och skriva vanlig HTML. Smaken är som baken...
<% If iAccessLevel = 1 then %>
<table class="tabellRam" width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="60" height="18" class=""tabellhuvud"">
E-nr
</td>
<td width=""250"" class=""tabellhuvud"">
Benämning
</td>
<td width=""45"" class="tabellhuvud">
Enhet
</td>
<td width="75" class="tabellhuvud">
Solar
</td>
<td width="75" class="tabellhuvud">
Storel
</td>
<td width="75" class="tabellhuvud">
Ahlsell
</td>
<td width="60" class="tabellhuvud">
Lägst
</td>
<td width="60" class="tabellhuvud">
Antal
</td>
<td width="50" class="tabellhuvud">
Lägg till
</td>
</tr>
<% Else %>
...
<% End if %>
Om du vill ha mer separerad kod kan du byta till ett annat språk. Om inte det är något alternativ så kanske du kan trixa lite mer med css-mallar för att ner storleken på koden...
Om man verkligen vill separerar kan man skriva funktioner, printHeaderTable() som skriver ut tabellhuvudet, men det tycker jag bara krånglar till koden...
edit// äsh, för sen igen och med lite sämmre ide :P
devotionMedlem sedan jan. 20013 582 inlägg Hej! :)
Bara separera lite och göra lite luftigare. Sedan om du använder ett vettigt program att koda med som färgar de olika grejjerna så ser man ännu bättre.
Jo, det är ju klart.... Jag använder mig av dreamweaver 8 när jag kodar, och då fungerar inte färgkodningen....
och använder jag mig av switchar för aspkoden så fungerar ju dreamweavers funktioner bäst i wysiwg-läget...
Jag brukar använda mig av switchar för det mest, men iblnad kan det vara en fördel att skriva "ren" asp-kod...
Men att göra det lite "luftigare" ökar ju läsbarheten markant..
Men, kan man göra radbrytningar hursomhelst efter en response.write
Mvh
henrik
SannyWMedlem sedan jan. 2003438 inlägg Tja!
Får två olika varianter.
If iAccessLevel = 1 then
Response.write "<table class='tabellRam' width='750' border='0' cellspacing='0' cellpadding='0'>"&_
"<tr>"&_
"<td width='60' height='18' class='tabellhuvud'>E-nr</td>"&_
"<td width='250' class='tabellhuvud'>Benämning</td>"&_
"<td width='45' class='tabellhuvud'>Enhet</td>"&_
"<td width='75' class='tabellhuvud'>Solar</td>"&_
"<td width='75' class='tabellhuvud'>Storel</td>"&_
"<td width='75' class='tabellhuvud'>Ahlsell</td>"&_
"<td width='60' class='tabellhuvud'>Lägst</td>"&_
"<td width='60' class='tabellhuvud'>Antal</td>"&_
"<td width='50' class='tabellhuvud'>Lägg till</td>"&_
"</tr>"&_
"</table>"
Else
Response.write "<table class='tabellRam' width='640' border='0' cellspacing='0' cellpadding='0'>"
"<tr>"&_
"<td width='60' height='18' class='tabellhuvud'>E-nr</td>"&_
"<td width='250' class='tabellhuvud'>Benämning</td>"&_
"<td width='45' class='tabellhuvud'>Enhet</td>"&_
"<td width='75' class='tabellhuvud'>Solar</td>"&_
"<td width='75' class='tabellhuvud'>Storel</td>"&_
"<td width='75' class='tabellhuvud'>Ahlsell</td>"&_
"<td width='60' class='tabellhuvud'>Lägst</td>"&_
"</tr>"&_
"</table>"
End if
Eller något likande....
<%
If iAccessLevel = 1 then
strTableValue = "class='tabellRam' width='750' border='0' cellspacing='0' cellpadding='0'"
Call TableHead("8", strTableValue)
Else
strTableValue = "class='tabellRam' width='640' border='0' cellspacing='0' cellpadding='0'"
Call TableHead("2", strTableValue)
End if
Sub TableHead(byVal str, byVal str2)
Dim sPrint, vPrint, vPrint2, i, j
sPrint = "width='60' height='18':E-nr,"&_
"width='250 : Benämning,"&_
"width='45' : Enhet,"&_
"width='75' : Solar,"&_
"width='75' : Storel,"&_
"width='75' : Ahlsell,"&_
"width='60' : Lägst,"&_
"width='60' : Antal,"&_
"width='50' : Lägg till"
vPrint = Split(sPrint, ",")
Response.Write "<table "& str2 &"><tr>"
For i = 0 To UBound(vPrint)
If i =< Clng(str-1) Then
v2Print = Split(vPrint(i), ":")
For j = 0 To UBound(v2Print) step 2
value1 = Trim(v2Print(0))
value2 = Trim(v2Print(1))
Response.Write "<td "& value1 &" class='tabellhuvud'>"& value2 &"</td>"
Next 'i
End if
Next 'i
Response.Write "</tr></table>"
End Sub
%>
devotionMedlem sedan jan. 20013 582 inlägg :)
Ser fint ut!
Kan man alltid ersätta "" med ' ?
Mvh
henrik
man kan alltid ersätta "" med ' ja :e när det gäller HTML iallafall :e