webForumDet fria alternativet

funktion för färg på text

ASP

2 svar · 473 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej!

Har följande kod som visserligen fungerar:

	If RS.EOF then
		Response.write "<span>Alla handdatorer är synkroniserade</span>"
	Else
		Response.write "<table>"
		Response.write "<thead>"
		Response.write "<tr><th>Synkroniseringsinformation</th></tr>"
		Response.write "</thead>"
		Response.write "<tbody>"
		While Not RS.EOF 
			If bgcolor = "#FFFFFF" then bgcolor = "#EFEFEF" else bgcolor = "#FFFFFF"
			Response.write "<tr  bgcolor=""" & bgcolor & """>"
			Response.write "<td"
			If RS("syncDiff") > 168 then response.write " class=""syncAlert"">" End If
			Response.write RS("Name") & " har inte synkroniserat på " & RS("syncDiff") & " timmar!"
			Response.write "</td>"
			Response.write "</tr>"
	
			RS.Movenext
		wend
		Response.write "</tbody>"
		Response.write "</table>"
	End if

Det enda som ska hända är om att villkoret uppfylls ska texten bli röd...

Kan man göra det bättre och snyggare?

Mvh
Henrik

Medlem sedan maj 200010 687 inlägg
#2

Mer lättläst när inte all HTML är ingrötad i strängar.
Slipper dessutom conditions och strängjämförelse för att sätta radfärg.

<%
If RS.EOF then
	%><span>Alla handdatorer är synkroniserade</span><%
Else
	%>
	<table>
	<thead>
		<tr>
			<th>Synkroniseringsinformation</th>
		</tr>
	</thead>
	<tbody><%
		Dim vClass, i
		vClass = Array("even", "odd")
		i = 0
		
		While Not RS.EOF
			%>
			<tr class="<%=vClass(i Mod 2)%>">
				<td<%If RS("syncDiff") > 168 Then Response.Write " class=""syncAlert"""%>>
					<%=RS("Name")%> har inte synkroniserat på <%=RS("syncDiff")%> timmar!
				</td>
			</tr><%
			RS.MoveNext
			i = i + 1
		Wend
		%>
	</tbody>
	</table><%
End if
%>
Medlem sedan jan. 20013 582 inlägg
#3

Snyggt! (y)

Mvh
Henrik

570 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
440 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)