funktion för färg på text

ASP

2 svar · 477 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Trådstart#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

485 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
127 ms — hämta statistik (db)
228 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)