我有一个复选框列表,其中填充了页面加载时数据库中的条目。当一个项目被选中和一个项目未被选中时,我需要更新我的数据库中的一个条目。现在我正在做以下事情:
<asp:CheckBoxList id="check1" AutoPostBack="True" TextAlign="Right" OnSelectedIndexChanged="Check" runat="server">
</asp:CheckBoxList>
和功能:
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
但是当我取消选中一个按钮时,else case 永远不会运行。此外,如果我选中了 4 个按钮并且我取消选中所有四个按钮,当我取消选中第四个按钮时,我会在该行收到错误:
If check1.SelectedItem.Selected = True Then
错误是:“对象引用未设置为对象的实例。”
有没有更好的方法来检查列表项是选中还是未选中?
谢谢