Ich habe den folgenden Code:Überprüfen Sie, ob das Kontrollkästchen aktiviert ist oder nicht - ASP.NET
(some.aspx.cs)
if(Page.IsPostBack)
{
bool apple2 = false;
bool pizza2 = false;
bool orange2 = false;
if (apple.Checked)
apple2 = true;
if (pizza.Checked)
pizza2 = true;
if (orange.Checked)
orange2 = true;
}
(some.aspx)
<tr>
<td>Food:</td>
<td>Apple <input type="checkbox" name="food" id="apple" value="apple" runat="server" />Pizza <input type="checkbox" name="food" id="pizza" value="pizza" runat="server" />Orange <input type="checkbox" name="food" id="orange" value="orange" runat="server" /></td>
</tr>
Jetzt sende ich die booleschen Variablen an SQL-Datenbank. Das Problem ist nur mit unkontrollierten Boxen. Ich meine, wenn Sie ein paar Checkboxen markieren, wird es als wahr (und das ist richtig) gesendet, aber wenn ich sie deaktiviere, bleibt es gleich (wahr).
Zusatz: Warum zu wenig? hier eine Abfrage ... nichts Besonderes hier
string q = string.Format(@"UPDATE tblUsers SET ......., apple='{8}', orange='{9}' WHERE id='{10}'", ...., apple2, orange2, id);
lib.sql_query(q); // using my sql library...
der Datentyp Bit ist .... Ich habe auch versucht, mit String ... aber kein Erfolg
P. S. - i auch mit Request.Form [ „apple“] versucht, und der uncheck gearbeitet ... aber leider ist die Überprüfung nicht ... wenn ich die Checkbox es wirft mir einen Fehler:
Conversion failed when converting the varchar value 'on' to data type bit.
Jemand ?
Zu wenig Informationen, um zu sehen, was passiert. Was passiert auf der SQL-Seite? – Carra
Welcher Datentyp ist Apple & Orange in der SQL-Tabelle? –