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
InformationsquelleAutor ewein | 2012-05-14
Schreibe einen Kommentar