A mi me estaba pasando lo mismo. pero se soluciona usando un objeto TemplateField y que tenga un chechbox dentro.
ejemplo:
Código:
<asp:TemplateField>
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("RECIBIDO") %>'/>
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("RECIBIDO") %>' AutoPostBack="True" oncheckedchanged="CheckBox1_CheckedChanged"/>
</ItemTemplate>
</asp:TemplateField>
Como puedes apreciar tiene el Autopostback y ademas el onchechedchange="evento checked"
Código:
Protected Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
If Me.IsPostBack = True Then
Dim chk As CheckBox = CType(sender, CheckBox)
Dim objItem As GridViewRow = CType(chk.Parent.Parent, GridViewRow)
If chk.Checked = True Then
'Aqui hacer lo que se tenga que hacer
End If
End If
End Sub
Como no especificaste si eran dentro de un grid... eso te puse.
Pero el concepto es bastante similar. posiblemente solo te falta el onchecked