VB.Net Prüfen Sie, ob eine checkbox-Liste Element ist markiert/nicht markiert
Habe ich eine checkbox-Liste, die gefüllt ist mit Einträgen aus meiner Datenbank laden der Seite. Ich brauche zu aktualisieren, einen Eintrag in meine Datenbank, wenn ein Element aktiviert ist und wenn ein Element deaktiviert ist. Jetzt bin ich tun, die folgenden:
<asp:CheckBoxList id="check1" AutoPostBack="True" TextAlign="Right" OnSelectedIndexChanged="Check" runat="server">
</asp:CheckBoxList>
Und die Funktion:
Sub Check(ByVal sender As Object, ByVal e As EventArgs)
Dim sql As String
If check1.SelectedItem.Selected = True Then
sql = "UPDATE Customer SET unauthorized = 'True' WHERE ID = @ID"
db.execUpdateQuery(sql, New SqlClient.SqlParameter("@ID", check1.SelectedItem.Value))
Else
sql = "UPDATE Customer SET unauthorized = 'False' WHERE ID = @ID"
db.execUpdateQuery(sql, New SqlClient.SqlParameter("@ID", check1.SelectedItem.Value))
End If
End Sub
Aber wenn ich deaktivieren Sie eine Schaltfläche, die der andere Fall ist noch nie gelaufen. Auch, wenn ich 4 buttons aktiviert und ich deaktivieren Sie alle vier Tasten, wenn ich deaktivieren Sie die vierte Taste bekomme ich eine Fehlermeldung bei der Zeile:
If check1.SelectedItem.Selected = True Then
Den Fehler: "der Objektverweis nicht auf eine Instanz eines Objekts."
Gibt es einen besseren Weg, um zu überprüfen, ob eine Liste ein Element wird aktiviert oder deaktiviert?
Dank
- Mit old-school-HTML nicht aktiviert Kontrollkästchen nicht Rückgabewerte an den server...vielleicht ist das, was läufst du hier? Mit nichts kontrolliert würde es kein SelectedItem in Ihrem checkboxlist.
- Sein sollte nicht Sie stützen diese auf ItemCheck und nicht SelectedIndexChange?
- Ich habe es ausprobiert, und es läuft nicht die Funktion
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das der Scheck ist in Zustand, das wird noch true zurück. Möchten Sie vielleicht zu ersetzen
mit
wenn Sie möchten, dass nur tatsächlich aktivierte Elemente.
Können Sie versuchen, diese auch