[RED]<%
Function isTrue(bStr)
If trim(bStr) = "true" Then isTrue = True Else isTrue = False
End Function
Response.Write isTrue(Request.Form("sRead"))
%>[/RED]
CBool() tar nummer argument, 0 = false och allt över är true, så med tanke på att det är text som skickas in kommer det inte att fungera. :)
Men du kan väl sätta vilket värde som skall skickas ifrån checkboxarna, så kan du få den att ge ifrån sig 0 respektive 1 så kan du använda CBool().
Är du säker på det? Jag brukar iaf använda CBool vid text. Testa att skapa temp.asp och köra denna kod:
<a href="temp.asp?action=true">action</a><br>
<a href="temp.asp?action=false">action2</a><p>
<% If CBool(request.Querystring("action")) = True Then
Response.write("True")
Else
Response.Write("False")
End If %>
Hmm... Jag kollade lite snabbt på msdn och det verkar stämma som du säger. Dock så fungerar denna kod utmärkt för mig och har alltid gjort det.
Men jag tycker att det är fel sätt angripa problemet genom kryphål i språket, jag litar inte direkt på språket när det inte gör som det står i dokumentationen.
Att det fungerar kan vara för att true motsvarar 1, och false motsvarar 0 som datatyp, men som textsträng bryter det mot dokumentationen (och logiska regler språket borde ha).
Men nu halkar jag ifrån ämnet, detta är mål för en annan diskussion. ;)